我有一个字符串:
'some text........ func("aaa", "bbb"); more text..'
如何使用正则表达式获取“aaa”和“bbb”? (组)
提前致谢。
答案 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*"
- 引用,逗号,可选空白和引用([^"]+)
- 匹配并捕获"
"\);
- 字面上匹配");
如果您不需要匹配换行符,[^"]+
可以替换为[^"\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;