(……续例4)
例5:单词定位符匹配
- void function reg_05()
- {
- var s1 = "Live for nothing,die for something",
- s2 = "Live for nothing,die for some thing";
- var r = /\bthing\b/g;
- alert(s1.match(r)); //匹配0次
- r = /thing\b/g;
- alert(s1.match(r)); //匹配2次
- r = /\bthing\b/g;
- alert(s2.match(r)); //匹配1次
- r = /\bfor something\b/g;
- alert(s1.match(r)); //匹配1次
- alert(s2.match(r)); //匹配0次
- }
正则表达式中的\b符号匹配一个单词边界,也就是指单词和空格间的位置。例如,'er\b'可以匹配"never"中的'er',但不能匹配"verb"中的'er'。
运行结果:
行6:s1是无法匹配的,因为s1中没有单词thing。
行8:是可以匹配两次的,因为s1中以thing结尾的单词有两个。
行10:s2中只有一个单词thing,因此可以匹配一次。
行12~13:s1和s2中只有s1包含单词串for something。
(未完待续……)
转载于:https://blog.51cto.com/mengliao/466925