如何在JavaScript中使用RegExp提取字符串?

时间:2012-10-20 21:32:34

标签: javascript regex extract match

我想从字符串<p>id = 22<p>\n<p>1. iteration, 1. task<p>

中提取一个Id

使用:

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匹配?

2 个答案:

答案 0 :(得分:2)

()是一个分组运算符,可用于提取匹配的部分内容。如果您只想提取ID,请使用str.match(patt1)[1]

答案 1 :(得分:0)

/<p>id[^<]+<p>/

似乎更适合您的任务。但是你的输入字符串非常令人困惑。不应该是一些HTML开放式标签序列吗?