2012-10-20 58 views
0

我想從字符串<p>id = 22<p>\n<p>1. iteration, 1. task<p>如何在JavaScript中使用RegExp提取字符串?

與提取編號:

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

()是一個分組操作符,用於提取部分匹配。如果你只是要提取的ID,然後使用str.match(patt1)[1]

+0

如果找不到匹配項,將會導致異常 – Bergi

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

似乎是你的任務更適合。但是你的輸入字符串很混亂。它不應該是一些HTML開放式封閉標籤序列嗎?

相關問題