簡體   English   中英

需要數字的正則表達式,后跟字母,空格,破折號,斜杠等

[英]Need a regex for numbers followed by letters no spaces, dashes, slashes, etc

我只是不擅長正則表達式,所以我找不到能夠滿足我需求的示例。 在此先感謝您的幫助。 這是一個搜索輸入框,如果用戶已經知道它是數字或數字+字母序列,它將直接將用戶帶到他們要查找的內容

它必須以數字開頭,並且數字可以是1到許多數字,數字后面的字母可以是0、1或2位數字。

通過示例:1 12 123456 123a 1234ab 123456789ab

失敗的示例:ab a1 ab12 1abc 123abc 1-a 1_a

你明白了。 對於傳遞的字符串,我還需要將數字和字母分開。

再次感謝。

語言是c#。 我需要測試傳入的字符串,然后將其通過正則表達式分成數字和字母部分。

嘗試

[0-9]+[a-z]{0,2}

希望這可以幫助。

嘗試這個

var regex=new Regex("^(?<numbers>[0-9]+)(?<letters>[a-z]{0,2})$",RegexOptions.IgnoreCase);
var match=regex.Match(testString);

屬性match.Success告訴您是否成功,並且可以獲取值

var numbers=match.groups["numbers"].Value;

var letters=match.groups["letters"].Value;

這應該工作:

/([0-9]+)([a-z]{0,2})/

根據您使用此正則表達式的語言,獲取完全模式匹配和后續子模式匹配的方法可能會有所不同。

編輯:

修改了第二個子模式,以匹配任何字母,或最多2個字母。

/([0-9]+)([a-zA-Z]{0,2})/大寫...

給出的所有答案仍與失敗列表中的1-a匹配,所以這是我的補充:

\b([0-9]+)([a-z]{0,2})(?!-)\b

經過測試:1 12 123456 123a 1234ab 123456789ab a ab a1 ab12 1abc 123abc 1-a 1_a

匹配項:1 12 123456 123a 1234ab 123456789ab

暫無
暫無

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

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