Многострочный макет регулярного выражения

У меня есть регулярное выражение: Regex("((group1)(group2))(group3)")

Я хотел бы отформатировать его таким образом, чтобы он выглядел красивым и понятным, т. Е.

 ( (group1) (group2) ) (group3) 

Например, я пробовал это:

 Regex("(" + "(group1)" + "(group2)" + ")" + "(group3)") //--> loses the syntax highlighting in Intellij and a bit messy Regex("""( (group1) (group2) ) (group3)""") //--> not bad, but not equivalent (adds spaces and \n characters) 

Есть ли способ иметь чистый макет, сохраняя эквивалент регулярного выражения оригиналу и подсветку синтаксиса?

Похоже, вы все еще можете использовать модификатор COMMENTS (или (?x) встроенную версию):

 Regex("""(?x)( # Group 1 (group1) # Group 2 (group2) # Group 3 ) (group3) # Another group""" 

См. COMMENTS RegexOption :

Разрешает пробелы и комментарии в шаблоне.

Символы # должны быть экранированы, если они обозначают символ символа # в шаблоне.

Обратите внимание, что буквальные пробелы также считаются форматированием пробелов, даже внутри классов символов. Удалите их, если вам нужно сопоставить буквальное пространство: """(?x)free\ spacing""" или """(?x)[a-zA-Z\ ]+""" .