Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.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
Regex Visual Studio中的正则表达式查找和替换不工作_Regex_Visual Studio_Visual Studio 2017 - Fatal编程技术网

Regex Visual Studio中的正则表达式查找和替换不工作

Regex Visual Studio中的正则表达式查找和替换不工作,regex,visual-studio,visual-studio-2017,Regex,Visual Studio,Visual Studio 2017,正在尝试在Visual Studio 2017中使用查找和替换 当我进行查找搜索(Ctrl+F)时,它似乎可以在在线的正则表达式检查工具上完美地工作,但在VisualStudio中不起作用 你知道为什么会这样吗?与标准正则表达式相比,我需要在VS中做些不同的事情吗 以下是正则表达式: ([.material\-icons]+[a-z|A-Z|\-|\_]+:+before,) 以下是一组代码/文本示例: .material-icons.three-d-rotation:before, .ico

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

当我进行查找搜索(Ctrl+F)时,它似乎可以在在线的正则表达式检查工具上完美地工作,但在VisualStudio中不起作用

你知道为什么会这样吗?与标准正则表达式相比,我需要在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';
}
它应该能找到

.材质图标。三维旋转:之前

.材料图标。交流单位:之前


必须先删除反斜杠,才能使.NET正则表达式语法无效

此外,如果您需要匹配字符序列,而不是任何其他顺序和数量的字符,那么您应该只使用这些字符序列,而不将它们放入字符类中。将
[.material \-icons]+
更改为
\.material icons

请注意,字符类之外的
-
(字符类之外的
[…]
)不需要转义

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

不需要用括号包装整个模式,如果需要替换为整个匹配项,请使用
$&
占位符

你可以用

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

详细信息

  • \.material icons\.
    -文字
    .material icons.
    文本
  • [\w.-]+
    -1个或多个字母、数字、
    -
  • :+
    -1+冒号
  • 之前,
    -文字子字符串

必须先删除反斜杠,然后
\\\
才能使.NET正则表达式语法无效。使用
\.材料图标\.[\w.-]+:+之前,
工作!你能回答这个问题吗?我会接受的。谢谢!!:)@再过10分钟我就可以接受这个答案了哈哈@Imdad请查看我添加的详细信息,这些澄清将帮助您进一步简化regexp。干杯,伙计-非常有帮助!我对
$&
替换模式有问题。它不是从“查找内容”框中获取匹配的序列,而是替换为literal
$&
序列。(VS 2017,快速替换,启用正则表达式-尽管启用正则表达式可以找到“查找内容”)@Zarephth您是否检查了正则表达式模式选项?
*
一个。