Regex 要替换的正则表达式。介于;
我要替换角色的所有出现。在解决方案中的所有字符串中 这些字符串如下所示:Regex 要替换的正则表达式。介于;,regex,visual-studio,Regex,Visual Studio,我要替换角色的所有出现。在解决方案中的所有字符串中 这些字符串如下所示: string sentence = "Hello world. Good bye world"; string sentence = "Hello world_ Good bye world"; 我希望他们都像这样: string sentence = "Hello world. Good bye world"; string sentence = "Hello world_ Good bye world"; 我想
string sentence = "Hello world. Good bye world";
string sentence = "Hello world_ Good bye world";
我希望他们都像这样:
string sentence = "Hello world. Good bye world";
string sentence = "Hello world_ Good bye world";
我想用正则表达式来做。我尝试了与这里描述的类似的方法:我阅读了这里的文档,但我不知道如何继续
编辑:我正在使用Visual Studio 2017一个简单的表达式,如:
\.
我们应该做到这一点
尝试使用以下方法:
String sentence = "Hello world. Good bye world";
sentence.replaceAll(\\.\g,"_");
编辑:将全局标志添加到正则表达式。Visual Studio 2015编辑/查找并替换。您可能会发现进一步的限制,但应该开始 在“查找内容”中:
(string\s[^\s]+\s+=\s+"[^\.]+)(\.)(\s*[^"]+")
替换为:
$1_$3
您可以执行以下操作:
(?<=(?<!\\)"(\"|[^"])*)\.(?=(\"|[^"])*")
(?
…基本上查找任何字符的零个或多个句点,而不是引号或引号前有反斜杠,然后是引号前没有前导反斜杠。同一句点后有零个或多个字符,而不是引号或引号前有反斜杠,然后是引号后没有前导反斜杠被反斜杠划破的
请记住,这并不是万无一失的——它不处理逐字字符串(即@“”)。您可能会调整它以适应这种情况
此外,替换字符只是要更改为的字符(即下划线)
将捕获的字符替换为“\u1”
- (\):捕获目标。(文字周期()
- (?=.*):引用捕获期间后是否存在
- (?什么版本的Visual Studio?较旧版本的Visual Studio支持不同的正则表达式语法。Visual Studio 2017如果引号之间有多个“.”,我认为您不会有一个全面的解决方案。这不会在解决方案中的所有字符串中考虑
..string .sentence. = ."_Hell_o world__ Good_ bye_ world_".;.