我有一个很长的正则表达式(JavaScript),它包含以下结构:
((?:\\[^$&\\])|(?:[^$&\\]))*
正则表达式说:
匹配任何不包含符号$
&
和\
如果符号\
用于转义,则允许使用符号this
。但只是,如果它没有逃脱禁止的符号之一。
以下是一个简单的匹配示例:
IsAText\nWithNewLines
& And
$ Forbidden
\ $ Symbols
\\ {{1}}
我想知道是否可以优化这个正则表达式。这只是一个小例子,我使用的实际正则表达式更大,因为我必须写两次不同的符号。
答案 0 :(得分:0)
为什么不只是\\?[^$&\\]
?可选\
,然后是您的否定小组。
这会使整个事情成为(\\?[^$&\\])*