如何重写此正则表达式/\[.+\]|\{.+\}/
但不重复内部模式/.+/
?
必须匹配:
不得匹配:
答案 0 :(得分:1)
在正则表达式中,您可以.+
非贪婪.+?
。当贪婪时,这将从此字符串中的开头[a
到结束b]
匹配:
[abc] {a} [b]
。
如果没有.+
或.+?
,您可以使用\[[^[\n]+?]|{[^{\n]+?}
替代。
这将匹配:
\[ # Match [ [^[\n]+? # Match not [ or a newline one or more times non greedy ] # match ] | # Or { # Match { [^{\n]+? # Match not { or a new line one or more times non greedy } # match }
如果这只是abc
左右,您可以使用\[abc]|{abc}
当在regex101.com上运行两个正则表达式并选择prce时,它们会给出相同数量的执行步骤,所以我认为这不会更快。