我一直在抨擊我的頭對牆試圖做什麼應該是一個簡單的正則表達式 - 我需要匹配,例如12po
其中12
部分可以是一位或兩位數字,然後是可選的非字母數字,如:.-,_
等,然後字符串po
。正則表達式爲1或2位數字,可選非字母數字,2個已知的阿爾法
最終的使用將在C#
,但我希望它在命令行上也能正常使用grep
。我沒有訪問C#
,這沒有幫助。
我一直在抨擊我的頭對牆試圖做什麼應該是一個簡單的正則表達式 - 我需要匹配,例如12po
其中12
部分可以是一位或兩位數字,然後是可選的非字母數字,如:.-,_
等,然後字符串po
。正則表達式爲1或2位數字,可選非字母數字,2個已知的阿爾法
最終的使用將在C#
,但我希望它在命令行上也能正常使用grep
。我沒有訪問C#
,這沒有幫助。
^[0-9][0-9]?[^A-Za-z0-9]?po$
你可以在這裏進行測試:http://www.regextester.com/
在C#中使用,
Regex r = new Regex(@"^[0-9][0-9]?[^A-Za-z0-9]?po$");
if (r.Match(someText).Success) {
//Do Something
}
記住,@是一個有用的標誌,這意味着解析器取字符串字面(例如,你不需要寫一個\\反斜槓)
^[0-9]{1,2}[:.,-]?po$
添加任何其他允許的非alpha數字字符到中間括號以允許它們被解析。
^\d{1,2}[\W_]?po$
\d
定義了許多和{1,2}
裝置1或兩個表達之前,\W
限定的一個非字字符。
......但是在'-'之前加上它們,否則你會得到令人驚訝的結果。 –