因此,我具有以下正则表达式,用于查找和添加空格:
(\S)(\()
因此,对于像“ SomeText(Somemoretext)”这样的字符串,我想将其更新为“ SomeText(Somemoretext)”,它与“ t(””匹配,因此我的替换从字符串中消除了“ t”,但效果不好。知道字符可能是什么,我只是想找到空白的不存在。
是否有更好的表达方式使用,或者有办法从返回的匹配项中排除找到的字符,以便我可以安全地替换而不会捕获我不想替换的字符?
谢谢
最佳答案
我发现环视难以理解,宁愿在替换字符串中使用substitutions:
var s = Regex.Replace("test1() test2()", @"(\S)\(", "$1 (");
Debug.Assert(s == "test1 () test2 ()");
$1
将正则表达式中的第一个捕获组插入到替换字符串中,该替换字符串是左括号(
之前的非空格字符。关于c# - 正则表达式查找空白前缀不存在,但不包含匹配项中的字符?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50456987/