全文预览

正则教材珠峰培训 正则深度教材 150608版

上传者: |  格式:doc  |  页数:25 |  大小:187KB

文档介绍
内的匹配结果。例如:varreg=/^(?:b|c).+/;varstr='bbs.';alert(reg.exec(str));可以看到返回的结果不再包括那个括号内的字正则表达式多匹配的内容。同理,反向引用也不好使了:varreg=/^(b|c)\1/;varstr='bbs.';alert(reg.exec(str));返回bb,b。bb是整个正则表达式匹配的内容,而b是第一个子正则表达式匹配的内容。varreg=/^(?:b|c)\1/;varstr='bbs.';alert(reg.exec(str));返回null。由于根本就没有记录括号内匹配的内容,自然没有办法反向引用了。3.15正向预查和负向预查(?=pattern)正向预查形式:(?=pattern)所谓正向预查,意思就是:要匹配的字符串,必须满足pattern这个条件!我们知道正则表达式/cainiao/会匹配cainiao。同样,也会匹配cainiao9中的cainiao。但是我们可能希望,cainiao只能匹配cainiao8中的cainiao。这时候就可以像下面这样写:/cainiao(?=8)/,看两个实例:varreg=/cainiao(?=8)/;varstr='cainiao9';alert(reg.exec(str));返回null。varreg=/cainiao(?=8)/;varstr='cainiao8';alert(reg.exec(str));;匹配cainiao。需要注意的是,括号里的内容只是条件,并不参与真正的捕获,只是检查一下后面的字符是否符合要求而已,例如上面的正则,返回的是cainiao,而不是cainiao8。再来看几个例子:varreg=/zhufeng(?=peixun)/;varstr='zhufengpeixun';alert(reg.exec(str));;

收藏

分享

举报
下载此文档