[英]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.