2

我试图提醒括号内的数字:

var str2 = "This is a string (3444343) with numbers.";
var patt2 = \((.*?)\);
alert(str2.match(patt2));

jsfiddle: http: //jsfiddle.net/BinaryAcid/8nx9 ​​v/1/

4

3 回答 3

9

解决方案

根据您原来的问题,这样做可以:

var str2 = "This is a string (3444343) with numbers.";
var patt2 = /\((.*?)\)/;

alert(str2.match(patt2)[1]);

更新的 jsFiddle 示例:http: //jsfiddle.net/S99jd/

对于您的输入字符串,它会发出警报3444343(不带括号)。

一些解释

您需要的代码段:

  • 添加正斜杠/以创建正则表达式,
  • 通过选择正确的匹配组来发出警报(此处,在 index 处1, asmatch()返回一个元素数组,其中 index 处0的元素是完全匹配,以下索引对应于匹配组)。

有关在 JavaScript / ECMAScript 中使用正则表达式的更多信息和帮助,请访问:http ://www.regular-expressions.info/javascript.html

于 2012-06-06T00:50:20.113 回答
2

您需要用正斜杠将正则表达式文字括起来:

var patt2 = /\((.*?)\)/;

这是更新的 jsFiddle。

于 2012-06-06T00:48:32.127 回答
-1

正如其他人指出的那样,最好使用斜杠创建正则表达式,但如果您想知道如何修复您的方法:

var patt2 = '(\\(\\d+\\))';

或者

var patt2 = '([(]\\d+[)])';
于 2012-06-06T00:52:36.507 回答