在C#中使用RegEx查找“(数字)”表达式

时间:2012-03-28 10:13:21

标签: c# regex

我有一个描述文本文件,内容以这种方式构建:

Book title - (number)

目前用户需要查找书名,然后读取书号并查找相应的文件(number.txt是书的文件名)。

我想使用Regexp类来提取“(数字)”表达式。我的示例代码不起作用(即使“()”不存在也返回TRUE:

Regex r = new Regex("([0-9])");

你能帮我构建正确的RegExp吗?

2 个答案:

答案 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范围内的一个或多个数字。转义括号也将确保只找到括号之间的数字。