如何在这两个字符串之间获取所有内容?

时间:2014-01-26 01:22:19

标签: javascript regex match

如何在这两个字符串之间获取所有内容?

ATemp.runFunct( <I WANT EVERYTHING IN BETWEEN THESE TWO PARENS> ), // comment

我希望所有内容都在上面的parens之间,外部字符串是常量。

我尝试了多个正则表达式,但它们没有用,例如:

ATemp\.runFunct\(*.?\), \/\/ comment

有什么想法吗?谢谢! (PS,我正在使用javascript)

2 个答案:

答案 0 :(得分:0)

以下是FIDDLE:http://jsfiddle.net/mikea80/kSuk4/

var str = "(Hello world!)";
var startIndex = str.indexOf("(");
var endIndex = str.indexOf(")");
var res = str.substring(startIndex + 1, endIndex); 
alert(res);

答案 1 :(得分:0)

*.?应为.*?。否则,您将匹配零个或多个(。您可能还想使用捕获组,以便以后可以实际引用该部分:(.*?)

示例:

var match = /ATemp\.runFunct\((.*?)\), \/\/ comment/.exec('ATemp.runFunct( <I WANT EVERYTHING IN BETWEEN THESE TWO PARENS> ), // comment');
alert(match[1]);

.exec返回一个数组,其中第一个元素是完全匹配,第二个元素是第一个捕获组的值(依此类推)。