Sublimetext3 正则表达式搜索/替换为。。。倒转的
直到几天前,我的崇高文本3还可以正常工作。我可以搜索/替换正则字符串,也可以使用正则表达式模式,当一个捕获组获得匹配时,所有这些字符串都被完美地高亮显示 然而,从昨天开始,我搜索的所有内容都是匹配的。。。相反。在这里:Sublimetext3 正则表达式搜索/替换为。。。倒转的,sublimetext3,Sublimetext3,直到几天前,我的崇高文本3还可以正常工作。我可以搜索/替换正则字符串,也可以使用正则表达式模式,当一个捕获组获得匹配时,所有这些字符串都被完美地高亮显示 然而,从昨天开始,我搜索的所有内容都是匹配的。。。相反。在这里: image:\s*“?(*?”?” 这应该匹配一个固定字符串image,后跟冒号、任意数量的空格(如果有)以及可选引号之间的任何内容 没什么大不了的,对吧?然而,Sublime正在捕获字符串图像,而不是我定义要捕获的内容。即使没有空格或引号,也应至少匹配冒号后面的内容,而不是冒号
image:\s*“?(*?”?”
这应该匹配一个固定字符串image,后跟冒号、任意数量的空格(如果有)以及可选引号之间的任何内容
没什么大不了的,对吧?然而,Sublime正在捕获字符串图像,而不是我定义要捕获的内容。即使没有空格或引号,也应至少匹配冒号后面的内容,而不是冒号前面的内容:
我重新安装、重新安装和重新配置了我使用的极少数插件,试图摆脱任何形式的缓存,但运气不好
这对我来说是一个很大的挫折,因为我不能在整个项目中进行批量替换
我只做了两件不同于常规发展程序的事情:
- 安装以加速一些虚线分隔URI段塞的创建,但当重新安装时,我没有将其添加回去,问题仍然存在
- 我第一次使用表达式
对手动打开的一组特定文件进行批量替换,因为它们位于不同的目录中
*?
更改为*
来解决这个问题,但这是一个缓和措施,因为我总是使用非贪婪版本,没有问题
有人知道会发生什么吗?我不确定你的正则表达式过去是如何匹配不同的,让我们想想正则表达式是怎么说的:
-文字图像:
图像:
-任意数量的空白,包括无空白\s*
-可选报价“?
-将除换行符以外的任何字符延迟捕获到捕获组1中(.*)
可选报价“?
image:
和它后面的空格,然后,没有引号,下一条指令是惰性的,因此它不在捕获组1中捕获任何内容,然后没有引号,因此这是匹配的完整范围
如果您总是想在捕获组1中捕获值,不管它是引用的还是未引用的字符串,您可以考虑使用如下表达式:
\bimage:\s*"?((?(?<=")[^"]*|.*$))"?
\b页面:\s*”?((?(?我不确定您的正则表达式过去是如何匹配任何不同的,让我们想想正则表达式是怎么说的:
图像:
-文字图像:
\s*
-任意数量的空白,包括无空白
“?
-可选报价
(.*)
-将除换行符以外的任何字符延迟捕获到捕获组1中
“?
可选报价
因此,对于要匹配的示例文本,它匹配image:
和它后面的空格,然后,没有引号,下一条指令是惰性的,因此它不在捕获组1中捕获任何内容,然后没有引号,因此这是匹配的完整范围
如果您总是想在捕获组1中捕获值,不管它是引用的还是未引用的字符串,您可以考虑使用如下表达式:
\bimage:\s*"?((?(?<=")[^"]*|.*$))"?
\b页面:\s*”?((?)所以我确实必须使用贪婪量词。这很奇怪,因为它总是与不贪婪的量词一起工作。可能已经解决了这个问题。不太可能,但谁知道呢。你比我预期的要远一点,但谢谢你的回答。:)所以我确实必须使用贪婪的量词。这很奇怪,因为它总是和不贪婪的量词一起工作。也许这方面的问题已经解决了。不太可能,但谁知道呢。你比我预期的要远一点,但谢谢你的回答。)