簡體   English   中英

特殊字符的正則表達式?

[英]Regex for special characters?

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);

你的問題是Az

這匹配所有ASCII字母AZ然后是Za之間的字符(其中包含^_ ,然后是az之間a所有ASCII字母。 這意味着^_將不會與您的正則表達式匹配(以及您在正則表達式中包含的逗號和空格)。

為了澄清,你的正則表達式也可以寫成

[^a-zA-Z0-9\[\\\]^_` ,]

你可能想要

string Val = Regex.Replace(TextBox1.Text, @"[^a-zA-Z0-9]", string.Empty);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM