我有內容的描述文本文件中這樣的方式構造:正則表達式在C#中找到了「(編號)」表達
Book title - (number)
目前用戶必須要知道書名,然後讀取書號和外觀爲適當的文件(number.txt是書的文件名)。
我想使用Regexp類來提取「(數)」表達式。我的示例代碼不工作(返回TRUE即使「()」不存在:
Regex r = new Regex("([0-9])");
能不能幫我樹立正確的正則表達式
我有內容的描述文本文件中這樣的方式構造:正則表達式在C#中找到了「(編號)」表達
Book title - (number)
目前用戶必須要知道書名,然後讀取書號和外觀爲適當的文件(number.txt是書的文件名)。
我想使用Regexp類來提取「(數)」表達式。我的示例代碼不工作(返回TRUE即使「()」不存在:
Regex r = new Regex("([0-9])");
能不能幫我樹立正確的正則表達式
你應該逃脫括號:
Regex r = new Regex(@"\([0-9]\)");
如果number
包含更多的是一個數字,你應該增加+
:
Regex r = new Regex(@"\([0-9]+\)");
或者
Regex r = new Regex("\\([0-9]+\\)");
在你只是在尋找一個數字的那一刻,試試這個:
Regex r = new Regex("\([0-9]+\)");
這對於在0-9範圍內的一個或多個數字搜索。轉義括號還將確保只有括號內的數字被找到。
謝謝。不幸的是它不起作用 - 即使不編譯。錯誤:「無法識別的轉義序列」。我也嘗試過這個解決方案。看起來像C#不允許轉義括號「()」符號。 – Viper 2012-03-28 10:22:01
現在它工作完美。謝謝。 – Viper 2012-03-28 10:37:50