string Val = Regex.Replace(TextBox1.Text, @"[^a-z, A-z, 0-9]", string.Empty);
這種表達不^和_匹配的字符。我應該怎麼做才能匹配這些值?特殊字符的正則表達式?
還有一件事是,如果TextBox1.Text字符串值大於10,最後一個字符串值(第11個字符串值)應該匹配。
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);
如果我使用這個表達式[^ \ w],那麼我就是結果。但我想限制字符長度。只有十個字符允許。我該怎麼辦 ? – 2013-03-03 14:21:15
@ASHOKA檢查我的答案,我添加了字符限制。 – 2013-03-03 14:31:02
@Kata:ASHOK故意使用否定字符類。他只是碰巧否定了比他想象的更多的角色。看到我的答案。 – 2013-03-03 15:30:39
您的問題是A-z
。
這符合所有ASCII字母A
通過Z
,然後擺在Z
和a
之間(包含,除其他外,^
和_
)字符,然後a
和z
之間的所有ASCII字母。這意味着^
和_
將不會與您的正則表達式匹配(以及您在正則表達式中包含的逗號和空格)。
爲了澄清,你的正則表達式也被寫成
[^a-zA-Z0-9\[\\\]^_` ,]
你可能想
string Val = Regex.Replace(TextBox1.Text, @"[^a-zA-Z0-9]", string.Empty);
你有什麼要問究竟** ** .. – Anirudha 2013-03-03 14:00:50
插入符你只需要用反斜槓'\ ^'作爲下面的代碼'_'來轉義,你不需要轉義它,我無法理解你最後一個關於字符串長度的問題,注意強調? – 2013-03-03 14:02:11
此表達式@「[^ a-z,A-z,0-9]」將與^和_的所有其餘值相匹配。但我需要表達來匹配這兩個價值。 – 2013-03-03 14:04:23