以下是我的示例http://jsfiddle.net/mwDCV/1/
使用http://gskinner.com/RegExr/我得到了我想要的但是在javascript我不
图案
pass(word)?\=\s*(\<[^>]+\>)*\s*([^<]+)
aka
var myRe = new RegExp('pass(word)?\=\s*(\<[^>]+\>)*\s*([^<]+)', 'gim');
文本
<br />
Run
password=
<br />
test
<br />
答案 0 :(得分:2)
编辑: 对不起,我的原因不正确。
真正的原因是在javascript中你需要像这样逃避你的转义斜杠:
自:
var myRe = new RegExp('pass(word)?\=\s*(\<[^>]+\>)*\s*([^<]+)', 'gim');
于:
var myRe = new RegExp('pass(word)?=\\s*(<[^>]+>)*\\s*([^<]+)', 'gim');
以便\s
正确出来。
您可以console.log(myRe)
查看浏览器如何解析您的表达式(缺少\
)。
在此处看到:jsfiddle(旧的,使用/ /
指定)
但是用正则表达式解析html是不受欢迎的,你可能最好抓住这个元素所在的文本节点并改为解析(删除换行符并测试密码=。+?)
答案 1 :(得分:1)
使用带有字符串的RegExp构造函数,因此反斜杠是字符串转义符。请改用regexp文字,就像在另一个答案中一样。 :)