VsCode:对“任何内容”(“.*?”)的非贪婪搜索无法按预期工作[重复]

问题描述 投票:0回答:1

我有文字:

>>>Text<<<

如果我像这样搜索

>(.*?)<
我会得到以下匹配:
>>>Text<
。我怎样才能得到
>Text<

进一步的信息是解释为什么这个问题与正则表达式在第一次匹配时停止

不同

我已经使用了

.*?
。由于某种原因,这不适用于 vscode。我想要 vscode 正则表达式的解决方案。

regex visual-studio-code search
1个回答
-1
投票

使用

>[^<>]*<
(Wiktor Stribiżew)

有效,但不通用。

.*?
“没有按预期工作”——只是因为你期待错误的事情。 .*?意思是“从左边开始,尽可能少地匹配到右边”。这并不意味着“在两个方向上尽可能少地匹配”。

不是尽可能少的是 >Text> 并且不检查下一个字符是否也是 >。这似乎不太好,因为我想获得尽可能短的匹配。这似乎是一个普遍问题/功能...

© www.soinside.com 2019 - 2024. All rights reserved.