我有一个描述文本文件,内容以这种方式构建:
Book title - (number)
目前用户需要查找书名,然后读取书号并查找相应的文件(number.txt是书的文件名)。
我想使用Regexp类来提取“(数字)”表达式。我的示例代码不起作用(即使“()”不存在也返回TRUE:
Regex r = new Regex("([0-9])");
你能帮我构建正确的RegExp吗?
答案 0 :(得分:4)
你应该逃避括号:
Regex r = new Regex(@"\([0-9]\)");
如果number
包含的内容超过一位数,则应添加+
:
Regex r = new Regex(@"\([0-9]+\)");
或者
Regex r = new Regex("\\([0-9]+\\)");
答案 1 :(得分:0)
目前你只想找一个数字,试试这个:
Regex r = new Regex("\([0-9]+\)");
其中搜索0-9范围内的一个或多个数字。转义括号也将确保只找到括号之间的数字。