簡體   English   中英

正則表達式匹配所有字母數字和某些特殊字符?

[英]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條結果行:

  • 測試if / this + -works
  • 第二部分
  • 第三部分(我在此處顯示了-的空格)

暫無
暫無

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

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