在使用firebug测试正则表达式很不错。可以提高程序开发的效率
1.检测正则表达式是否找到匹配
/正则表达式/.test(document.body.innerHTML)
如果返回true则证明找到。
2.查看匹配到的内容
document.body.innerHTML.match( /正则表达式/ );
3.上面只会打印出第一个匹配,如果要输出找到匹配的数组则用
document.body.innerHTML.match( /正则表达式/g );
4.有些时候需要将找到的内容全部打印出来,比如在正则表达式中用到了括号,想输出括号中的内容,则需要使用下面的方式
var s = document.body.innerHTML; var r = /<dt\s+class="p">(?:.|\s)+?<a\s+href="(.+?)"\s+title="(.+?)"(?:.|\s)+?<img\s+src="(.+?)"(?:.|\s)+?<span\s+class="info">(.+?)<\/span>/img; var m = r.exec(s); while(m){ console.log(m[1]); console.log(m[2]); console.log(m[3]); console.log(m[4]); m = r.exec(s); }
其中s代表需要匹配的字符串,r代表正则表达是,其中的img是匹配的模式,而在正则表达式里面(?:.|\s)?:代表该括号内的内容不输出,也就是使用group中不出现(java中)js中就是数组的索引了。.|\s就是包含回车换行的任意字符了,这个一般在匹配多行中才用到,console.log就是打印出信息,这样可以清晰的显示出正则表达式是否按照自己的意愿工作。
ps:转载请注明出处。