对于这个问题,应该如何替换正则表达式:
输入:2011,01,10 a,john.doe@gimail.com
我希望:2011,01,10 a.john.doe@gmail.com
我写这样的方法:
public static string CorrectSmallMistakes(string email)
{
string result;
string pattern = "gimail\\.";
string replacment = "gmail.";
Regex rgx = new Regex(pattern);
email= rgx.Replace(email, replacment);
pattern = @"(\w,)";
replacment = "\\w\\.";
rgx = new Regex(pattern);
result = rgx.Replace(email, replacment);
return result;
}
将gimail替换为gmail是好的,但对于a,对于a。不管用。我得到了
201\w\.0\w\.10 \w\.emil.rutkowski1986@gmail.com
我如何编写替换以留下旧值?
答案 0 :(得分:1)
使用"."
仅匹配字母。使用零长度lookbehind和pattern = @"(?<=\p{L}),";
replacment = ".";
rgx = new Regex(pattern);
result = rgx.Replace(email, replacment);
的文字替换:
\w
这样会检查pandas: 0.22.0-py36h6538335_0 --> 0.22.0-py35_0 conda-forge
部分,但不会成为匹配的一部分。