JavaScript中使用正则表达式的一点笔记
2010-09-14 13:45:51 来源:WEB开发网核心提示: 其中代表修饰符的第二个参数是可选的,注意到表示要匹配的模式的第一个参数是用双引号而不是斜杠括起来的,JavaScript中使用正则表达式的一点笔记(5), EXAMPLE 1 这个例子中用到了一个包含了许多特性的正则表达式,与一个字符串进行匹配,但只有"aarbcaAdbc&qu
其中代表修饰符的第二个参数是可选的。注意到表示要匹配的模式的第一个参数是用双引号而不是斜杠括起来的。
EXAMPLE 1
这个例子中用到了一个包含了许多特性的正则表达式,与一个字符串进行匹配。
这些特性包括锚,字符组,预定义字符组,量词,捕获型括号,反向引用,环视等。
使用<.*>来匹配标签的话挺容易出问题的,所以这里采用了<[^>]*>来匹配。
EXAMPLE 2
这个例子主要展示了exec()方法的使用。
值得注意的是,JavaScript中只支持顺序环视(lookahead)而不支持逆序环视(lookbehind),所以当需要逆向环视的时候应当想办法将其转换为正向环视。
一段否定正向环视的代码:
Js代码
js> regex = /b(?!FX)b/ig
/b(?!FX)b/gi
js> "Fx's not FX".replace(regex, "Alpha")
FxAlpha'AlphasAlpha AlphanotAlpha FXAlpha
EXAMPLE 3
这个例子用EXAMPLE 1里的字符串与正则表达式进行匹配(和捕获),并演示了如何在正则表达式执行过后引用捕获到的匹配。
EXAMPLE 4
这个例子展示了如何使用正则表达式进行替换。
EXAMPLE 4展示了JavaScript中量词的“贪婪”特性——它一定会在整个字符串中找到符合正则表达式要求的最长匹配。更准确的说,是遵循"left-most, longest match"的原则。
在这个例子中,虽然"aarbc"、"aAdbc"与"aarbcaAdbc"都能够匹配,但只有"aarbcaAdbc"才是最长的,因而结果是把整个"aarbcaAdbc"作为匹配,交给替换的逻辑去处理。
Tags:JavaScript 使用 正则
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接