为什么这个正则表达式不能识别我的模式?(适用于flash)
Why isnt this regex picking up my pattern? (works on flash)
下面是我的例子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 />
编辑:对不起,我把原因记错了。
真正的原因是在javascript中你需要转义斜杠,像这样:
:var myRe = new RegExp('pass(word)?'='s*('<[^>]+'>)*'s*([^<]+)', 'gim');
:var myRe = new RegExp('pass(word)?=''s*(<[^>]+>)*''s*([^<]+)', 'gim');
以使's
正常排出
您可以执行console.log(myRe)
并查看浏览器如何解析您的表达式(缺少'
)。
/ /
指定)
但是用regex解析html是不受欢迎的,您最好抓住该元素所在位置的文本节点并解析它(去掉换行符并测试password=.+?)
您使用RegExp构造函数,它接受一个字符串,因此您的反斜杠是字符串转义。请使用regexp字面值,就像另一个答案一样。:)
相关文章:
- JQueryhide()不适用于Mozzilla,但适用于Chrome
- PHP中的setcookie仅适用于localhost
- html5 drawImage适用于firefox,而不是chrome
- 提供“;onClick"适用于iPad(触摸屏)和桌面用户的默认功能
- jQuery表单验证适用于Mozilla和Internet Explorer,但不适用于Chrome或Safari
- ResolveUrl是否适用于././也
- Firebase updateChildValues适用于IOS,但不适用于Web和Android
- JavaScript警报适用于int,但不适用于string
- SQLite插件适用于Mac和Windows,但不适用于手机上的Safari
- Regex Replace仅适用于Last Match
- window.onload适用于aspx页面,但不适用于普通html
- Jquery Ajax POST不工作.适用于GET
- 画布上的自定义字体仅适用于safari
- Javascript仅适用于alert()和Debug模式
- JS适用于Firefox和Safari,但不适用于Chrome.此处'是我的网站
- Regex不适用于Firefox,但适用于Chrome
- 如何根据平台切换资产:适用于Windows的Flash和适用于iOS的HTML5
- flash内容不仅适用于firefox
- 为什么这个正则表达式不能识别我的模式?(适用于flash)
- Facebook JS+FLASH SDK:适用于IE,不适用于FF、Chrome