首页 > 解决方案 > 如何验证正则表达式工作错误

问题描述

我正在为语法高亮vscode扩展编写正则表达式,但没有按预期工作。正则表达式在一个plist文件中,如下所示:

<string>(\@[\p{L}_]+[\w]*)</string>

我想这个表达式会找到@variable.

我的问题是只是找到以下内容:@@variable. 所以它只是在它前面有一个@字符时找到我想要的字符串。为什么会这样?

在此处输入图像描述

当我写表达式时:

<string>(\#[\p{L}_]+[\w]*)</string>

我想这个表达式会找到#key. 该表达式正常工作。

此外,如果我使用这个工具https://regexr.com/来测试正则表达式,它工作正常。那么vs代码有什么问题呢?这可能与表达式标志有关?

在此处输入图像描述

有谁知道这个问题?

标签: regexvisual-studio-codeplist

解决方案


正则表达式是正确的。问题是我正在编写一个 vs 代码扩展,我不得不把这一行放在文件的上部,因为有另一个正则表达式干扰。谢谢!@WiktorStribiżew


推荐阅读