[英]Regex to match all alphanumeric and certain special characters?
我正在嘗試使一個正則表達式能夠工作,以允許所有字母數字字符(大寫和非大寫以及數字)但也允許空格,正斜杠(/),破折號(-)和加號(+)?
我一直在玩一個改裝: http: //refiddle.com/gqr但到目前為止還沒有成功,任何人有什么想法?
我不確定它是否有任何區別,但是我正在嘗試在C#中執行此操作?
如果只允許這些,則還需要使用錨^
和$
。
^[a-zA-Z0-9_\s\+\-\/]+$
^ ^^
這是您的正則表達式,我在第二行中添加了字符。 不要忘記末尾附近的+
或*
以允許超過1個字符(在*
的情況下為0或更多),否則正則表達式將嘗試僅匹配一個字符,即使是.Matches
。
您還可以將整個類[A-Za-z0-9_]
替換為\\w
,如下所示:
^[\w\s\+\-\/]+$
編輯:
實際上,您可以避免一些轉義並避免最后一次轉義,並小心放置(即確保-
在開頭或結尾):
^[\w\s+/-]+$
您的正則表達式如下所示:
/[\w\d\/\-\+ ]+/g
這是所有字母,數字和/ - +和空格(但不是任何其他空白字符)
末尾的+表示至少需要1個字符。 如果要允許使用空字符串,請將其更改為*。
此代碼執行以下操作:
var input = "Test if / this+-works&sec0nd 2 part*3rd part";
var matches = Regex.Matches(input, @"([0-9a-zA-Z /+-]+)");
foreach (Match m in matches) if (m.Success) Console.WriteLine(m.Value);
輸出將有3條結果行:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.