Chr*_*ell 3 regex sublimetext3
在 sublime text 中,我试图匹配一个双引号,后跟 html tag <br>。任何字符串都可以出现在 html 标记之后,并且双引号前面不能有双引号。
在https://regex101.com/r/HHNB1E/4进行测试时,我的正则表达式已满足我的期望。
这是我的正则表达式:^((?!").)*{"<br>}.*$.
但是,当我将其放入 Sublime Text 中时,它会抛出错误“尝试匹配正则表达式时堆栈空间不足”。鉴于我对正则表达式的经验不是很丰富,我假设我的正则表达式效率很低。
预期结果示例:
foobar""<br>- 没有匹配
foobar"<br>- 匹配
""<br>baz- 没有匹配
"<br>baz- 匹配
foo<br>baz- 没有匹配
我是否需要改进正则表达式以提高效率,或者我做得完全错误吗?
您看到的错误很可能是由于涉及捕获组。将其转为非捕获组,如下所示:
^(?:(?!").)*"<br>.*$
Run Code Online (Sandbox Code Playgroud)
但...
我正在尝试匹配一个双引号......
如果您尝试匹配一个双引号,该双引号紧随其后<br>且前面没有另一个双引号",那么您很可能需要环视:
"(?<!"")(?=<br>)
Run Code Online (Sandbox Code Playgroud)
以上是您问题的快速解决方案。
| 归档时间: |
|
| 查看次数: |
2255 次 |
| 最近记录: |