Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sublimetext3 正则表达式搜索/替换为。。。倒转的_Sublimetext3 - Fatal编程技术网

Sublimetext3 正则表达式搜索/替换为。。。倒转的

Sublimetext3 正则表达式搜索/替换为。。。倒转的,sublimetext3,Sublimetext3,直到几天前,我的崇高文本3还可以正常工作。我可以搜索/替换正则字符串,也可以使用正则表达式模式,当一个捕获组获得匹配时,所有这些字符串都被完美地高亮显示 然而,从昨天开始,我搜索的所有内容都是匹配的。。。相反。在这里: image:\s*“?(*?”?” 这应该匹配一个固定字符串image,后跟冒号、任意数量的空格(如果有)以及可选引号之间的任何内容 没什么大不了的,对吧?然而,Sublime正在捕获字符串图像,而不是我定义要捕获的内容。即使没有空格或引号,也应至少匹配冒号后面的内容,而不是冒号

直到几天前,我的崇高文本3还可以正常工作。我可以搜索/替换正则字符串,也可以使用正则表达式模式,当一个捕获组获得匹配时,所有这些字符串都被完美地高亮显示

然而,从昨天开始,我搜索的所有内容都是匹配的。。。相反。在这里:

image:\s*“?(*?”?”

这应该匹配一个固定字符串image,后跟冒号、任意数量的空格(如果有)以及可选引号之间的任何内容

没什么大不了的,对吧?然而,Sublime正在捕获字符串图像,而不是我定义要捕获的内容。即使没有空格或引号,也应至少匹配冒号后面的内容,而不是冒号前面的内容:

我重新安装、重新安装和重新配置了我使用的极少数插件,试图摆脱任何形式的缓存,但运气不好

这对我来说是一个很大的挫折,因为我不能在整个项目中进行批量替换

我只做了两件不同于常规发展程序的事情:

  • 安装以加速一些虚线分隔URI段塞的创建,但当重新安装时,我没有将其添加回去,问题仍然存在
  • 我第一次使用表达式
    对手动打开的一组特定文件进行批量替换,因为它们位于不同的目录中
仅此而已

我可以通过将
*?
更改为
*
来解决这个问题,但这是一个缓和措施,因为我总是使用非贪婪版本,没有问题


有人知道会发生什么吗?

我不确定你的正则表达式过去是如何匹配不同的,让我们想想正则表达式是怎么说的:

  • 图像:
    -文字
    图像:
  • \s*
    -任意数量的空白,包括无空白
  • “?
    -可选报价
  • (.*)
    -将除换行符以外的任何字符延迟捕获到捕获组1中
  • “?
    可选报价
因此,对于要匹配的示例文本,它匹配
image:
和它后面的空格,然后,没有引号,下一条指令是惰性的,因此它不在捕获组1中捕获任何内容,然后没有引号,因此这是匹配的完整范围

如果您总是想在捕获组1中捕获值,不管它是引用的还是未引用的字符串,您可以考虑使用如下表达式:

\bimage:\s*"?((?(?<=")[^"]*|.*$))"?

\b页面:\s*”?((?(?我不确定您的正则表达式过去是如何匹配任何不同的,让我们想想正则表达式是怎么说的:

  • 图像:
    -文字
    图像:
  • \s*
    -任意数量的空白,包括无空白
  • “?
    -可选报价
  • (.*)
    -将除换行符以外的任何字符延迟捕获到捕获组1中
  • “?
    可选报价
因此,对于要匹配的示例文本,它匹配
image:
和它后面的空格,然后,没有引号,下一条指令是惰性的,因此它不在捕获组1中捕获任何内容,然后没有引号,因此这是匹配的完整范围

如果您总是想在捕获组1中捕获值,不管它是引用的还是未引用的字符串,您可以考虑使用如下表达式:

\bimage:\s*"?((?(?<=")[^"]*|.*$))"?

\b页面:\s*”?((?)所以我确实必须使用贪婪量词。这很奇怪,因为它总是与不贪婪的量词一起工作。可能已经解决了这个问题。不太可能,但谁知道呢。你比我预期的要远一点,但谢谢你的回答。:)所以我确实必须使用贪婪的量词。这很奇怪,因为它总是和不贪婪的量词一起工作。也许这方面的问题已经解决了。不太可能,但谁知道呢。你比我预期的要远一点,但谢谢你的回答。)