string Val = Regex.Replace(TextBox1.Text, @"[^a-z, A-z, 0-9]", string.Empty);
此表达式不匹配字符 ^ 和 _。我应该怎么做才能匹配这些值?
还有一点是,如果 TextBox1.Text 字符串值大于 10,则最后一个字符串值(第 11 个字符串值)应该匹配。
最佳答案
请注意,当括在方括号中时,^ 具有特殊含义。这意味着匹配除了字符类中指定的所有内容,基本上是 '[]'
。
如果要匹配"^"
和"_"
,将插入符(^)
放在开后的其他位置括号像这样,使用重复来限制字符长度:
[\W_]
这将确保整个字符串中的字符为 10。
或者您使用斜杠 "\^"
对其进行转义。
string Val = Regex.Replace(TextBox1.Text, @"[\W_]", string.Empty);
关于c# - 特殊字符的正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15186407/