我有一个正则表达式: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\ ]+"""
。