如何在这两个字符串之间获取所有内容?
ATemp.runFunct( <I WANT EVERYTHING IN BETWEEN THESE TWO PARENS> ), // comment
我希望所有内容都在上面的parens之间,外部字符串是常量。
我尝试了多个正则表达式,但它们没有用,例如:
ATemp\.runFunct\(*.?\), \/\/ comment
有什么想法吗?谢谢! (PS,我正在使用javascript)
答案 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
返回一个数组,其中第一个元素是完全匹配,第二个元素是第一个捕获组的值(依此类推)。