在Visual Studio中的正则表达式无法找到并替换

英达

尝试在Visual Studio 2017中使用查找和替换。

它似乎在在线的Regex检查工具上运行良好,但是当我执行“查找”搜索(Ctrl + F)时,在Visual Studio中却无法正常工作。

任何想法为什么会这样?与标准Regex相比,在VS中我需要做些不同的事情吗?

这是正则表达式:

([.material\-icons]+[a-z|A-Z|\-|\_]+:+before,)

这是一组示例代码/文本:

.material-icons.three-d-rotation:before,
.icon-mi-three-d-rotation:before {
    content: '\e84d';
}

.material-icons.ac-unit:before,
.icon-mi-ac-unit:before {
    content: '\eb3b';
}

应该找到

.material-icons.th-d-rotation:之前,

.material-icons.ac-unit:之前,

维克多·史翠比维

您必须删除反斜杠之前_\_使.NET正则表达式的语法无效。

另外,如果您需要匹配一个字符序列,而不是以任何其他顺序和任何数量匹配字符,则应仅使用这些字符序列,而不必将其放入字符类中。更改[.material\-icons]+\.material-icons

请注意,-字符类外部(之外[...])不需要转义。

在字符类内部,|匹配管道字符,它不是OR运算符。因此,您应该将其从中删除[...]

不需要用括号将整个模式括起来,如果需要用整个匹配项替换,请使用$&占位符。

您可以使用

\.material-icons\.[\w.-]+:+before,

在此处输入图片说明

细节

  • \.material-icons\.-.material-icons.文字
  • [\w.-]+-1个或多个字母,数字_.-
  • :+ -1个以上的冒号
  • before, -文字子字符串。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章