如何使用正则表达式提取()里面的数字?

时间:2011-04-18 14:43:03

标签: regex

以下是示例文字......

ss(12a)eee
ss(121112322)eeede223

我想提取“121112322”......我可以提取“(121112322)”,使用此

\(\d*\)

但是我想排除“()”,并且文本必须在()内,我该怎么办呢?谢谢。

2 个答案:

答案 0 :(得分:1)

正则表达式提供捕获缓冲区的方法。检查this文档,了解如何使用Perl捕获缓冲区,这是非常普遍的。

基本上,你需要在未转义的括号中包装你想要捕获的正则表达式:

(\(\d*\))

按照惯例,在缓冲区0中,您将拥有整个字符串,在缓冲区1中,您将拥有第一个捕获的缓冲区。

答案 1 :(得分:0)

这应该这样做。

\((.*)\)

第一组将是brables内部的值 - javascript中的使用示例

var test = 'sfsfsdfsdf(12a)sdfsdfsdf';
var r = test.match(/\((.*)\)/)
console.log(r[1]) // <--- bracket inners

并在行动中看到它

http://jsfiddle.net/tAm2d/