我正在尝试制作正确的正则表达式模式,以便在之前找到数字 4 和/或之后有字母a-z
和数字4
和6
(只有第一个字母可以是大写A-Z
,如果存在)。但不是只有数字,即使他们是4和6!如果我找到4
我希望用ч
替换它,其他符号保持不变!
示例:
abs4 4ao 4epa4 a46 E4a 4e ne4es6(All True)
4 a41 4a7 456 46 64 44 e4A (全部错误)
此代码几乎可以正常工作
string replaced4 = Regex.Replace(richTextBox3.Text, "([A-Z]?[a-z]+)4([a-z46])|([A-Z]?[a-z46])4([a-z]+)", "$1ч$2");
此代码不起作用时有两个例外。
1。如果4是第一个符号
2.如果4是最后一个符号
问题出在"$1ч$2"
,但我不知道要解决它。有什么建议吗?
答案 0 :(得分:0)
手动检查其中是否有4(myString.Contains('4')
),然后使用:
[A-Za-z46][a-z46]+
if (RegEx.IsMatch(myString, "[A-Za-z46][a-z46]+"))
{
myString = myString.Replace("4", "$1ч$2"); // If there's not actually a 4, it won't do anything.
}