我想从字符串<p>id = 22<p>\n<p>1. iteration, 1. task<p>
使用:
var str="<p>id = 22<p>\n<p>1. iteration, 1. task<p>";
var patt1=/<p>id = (.*)<p>/;
document.write(str.match(patt1));
但不知何故它返回浏览器:
id = 22
,22
为什么这样?为什么2匹配?
答案 0 :(得分:2)
()
是一个分组运算符,可用于提取匹配的部分内容。如果您只想提取ID,请使用str.match(patt1)[1]
答案 1 :(得分:0)
/<p>id[^<]+<p>/
似乎更适合您的任务。但是你的输入字符串非常令人困惑。不应该是一些HTML开放式标签序列吗?