(……续例4)

例5:单词定位符匹配

  1. void function reg_05()  
  2. {  
  3.     var s1 = "Live for nothing,die for something",  
  4.         s2 = "Live for nothing,die for some thing";  
  5.     var r = /\bthing\b/g;  
  6.     alert(s1.match(r)); //匹配0次  
  7.     r = /thing\b/g;  
  8.     alert(s1.match(r)); //匹配2次  
  9.     r = /\bthing\b/g;  
  10.     alert(s2.match(r)); //匹配1次  
  11.     r = /\bfor something\b/g;  
  12.     alert(s1.match(r)); //匹配1次  
  13.     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。

(未完待续……)