正则表达式:'func(“aaa”,“bbb”);' - 找到“aaa”和“bbb”

时间:2015-08-13 10:14:35

标签: javascript regex

我有一个字符串: 'some text........ func("aaa", "bbb"); more text..'

如何使用正则表达式获取“aaa”和“bbb”? (组)

提前致谢。

2 个答案:

答案 0 :(得分:0)

这应该这样做:

r=/.*func\("([^&"]*)", *"([^&"]*)"\).*/
s='some text........ func("aaa", "bbb");  more text..'
result = r.exec(s)
val1 = result[1]
val2 = result[2]

答案 1 :(得分:0)

您可以使用像

这样的正则表达式轻松获取它们
func\("([^"]+)",\s*"([^"]+)"\);

下面,

  • func\(" - 按字面意思匹配func(
  • ([^"]+) - 匹配并捕获第1组1个或多个字符而不是"
  • ",\s*" - 引用,逗号,可选空白和引用
  • ([^"]+) - 匹配并捕获"
  • 以外的1个或多个字符
  • "\); - 字面上匹配");

如果您不需要匹配换行符,[^"]+可以替换为[^"\n]

参见演示:



var rx = /func\("([^"]+)",\s*"([^"]+)"\);/g;
s='some text........ func("aaa", "bbb");  more text.. func("ccc", "ddd");';
while ((m=rx.exec(s))!== null) {
  document.write("Input: " + m[0] + "<br/>");
  document.write("First: " + m[1] + "<br/>");
  document.write("Second: " + m[2] + "<br/>");
}
&#13;
&#13;
&#13;