我需要一個正則表達式查詢的幫助,我似乎無法工作。C#正則表達式
我需要檢查以下格式:字符串 - 整數
字符串傳遞到方法,一個叫studyID參數,所以應該檢查studyID - 整數,其中「 - 」是一個字符串文字,並有是它的任何一面的空間。
任何人都可以請幫忙。
謝謝。
我需要一個正則表達式查詢的幫助,我似乎無法工作。C#正則表達式
我需要檢查以下格式:字符串 - 整數
字符串傳遞到方法,一個叫studyID參數,所以應該檢查studyID - 整數,其中「 - 」是一個字符串文字,並有是它的任何一面的空間。
任何人都可以請幫忙。
謝謝。
這應該適合你。我假設你只是在尋找一場比賽。
Regex r = new Regex(study.Id + "(\\s+)(-)(\\s+)(\\d+)");
\\ s +將處理任何空格和\\ d +任何整數。
特殊字符是這樣轉義的:\s
而不是/s
。另外,如果你想匹配多個數字,你可以這樣做:\d+
匹配至少一個數字(來自Howard的評論)。
然後保證自己,study.Id
沒有「正則表達式字符」像[]+*
等..
您可以使用'Regex.Escape(...)'來轉義'study.Id'。 – Howard 2012-01-06 12:48:12
任何字符串,其次是「 - 」和任何數量的使用:
^(.+)(\s-\s)(\d+)$
爲在開始字符串 「studyID」,使用此:
^studyID(\s-\s)(\d+)$
結合一切:
var re = new Regex("^" + Regex.Escape(study.Id) + @"\s+-\s+(\d+)\z");
轉義study.Id
的內容,允許圍繞-
的多個數字空間,將其錨定到字符串的開始/結尾處。如果後者不需要,您可以刪除^
和\z
。
你試過了什麼,結果是什麼?錯誤,錯誤的結果? – 2012-01-06 12:30:26
我最近的嘗試是regex = study.Id +「/ s-/s/d」; – 2012-01-06 12:33:31
你能舉出一些這個正則表達式應該工作的實際值的例子嗎? – 2012-01-06 12:35:54