我試圖用正則表達式在C#中以匹配可包含軟件版本號:C#正則表達式匹配方括號
- 一個2位數
- 1或2位數字(在0未開始)
- 另一個1或2位數字(在0未開始)
- 一個1,2,3,4或5位數字(在0未開始)
- 在一個選項信結尾用方括號括起來。
一些例子:
10.1.23.26812 83.33.7.5 10.1.23.26812[d] 83.33.7.5[q]
無效的例子:
10.1.23.26812[ 83.33.7.5] 10.1.23.26812[d 83.33.7.5q
我曾嘗試以下:
string rex = @"[0-9][0-9][.][1-9]([0-9])?[.][1-9]([0-9])?[.][1-9]([0-9])?([0-9])?([0-9])?([0-9])?([[][a-zA-Z][]])?";
(注:如果我試圖不帶 「@」並通過執行「\ [」來避開方括號「」我收到一條錯誤,提示「無法識別的急速pe序列「)
我可以達到版本號正確驗證的地步,但它接受任何後面的內容(例如:」10.1.23.26812這個應該是錯誤的「被匹配爲正確的)。
所以我的問題是:是否有使用正則表達式匹配/檢查方括號中的字符串方式或者我需要將其轉換爲不同的字符(如:改變[A]到一個並匹配* s代替)?
這是匹配整個字符串還是在句子中間的這個版本號? –