JavaScript正则表达式19例(6)

(……续例5)正则表达式

例6:重复描述符匹配
ide

  
  
           
  
  
  1. void function reg_06()  
  2. {  
  3.     var s1 = "1024",   
  4.         s2 = "+1024",  
  5.         s3 = "1,024",   
  6.         s4 = "1",   
  7.         s5 = "-1024",   
  8.         s6 = "10000";  
  9.     var r = /^\+?[1-9],?\d{3}$/g;  
  10.     for (i = 1; i <= 6; i++)  
  11.     {  
  12.         t = "alert(s" + i + ".match(r));" 
  13.         eval(t);  
  14.     }  

行9:定义的正则表达式从行首至行尾匹配。
因为要匹配+字符,但+字符自己是正则表达式中符号系统中的一个,因此前面要加上\符号,即写成\+
?符号表示匹配0次或1次。
{3}符号表示前面的内容只能匹配3次,该符号的通常形式为:
spa

{n} n 是一个非负整数。匹配肯定的 n 次。例如,'o{2}' 不能匹配 "Bob" 中的 'o',可是能匹配 "food" 中的两个 o。
{n,} n 是一个非负整数。至少匹配n 次。例如,'o{2,}' 不能匹配 "Bob" 中的 'o',但能匹配 "foooood" 中的全部 o。'o{1,}' 等价于 'o+'。'o{0,}' 则等价于 'o*'。
{n,m} mn 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。刘, "o{1,3}" 将匹配 "fooooood" 中的前三个 o。'o{0,1}' 等价于 'o?'。请注意在逗号和两个数之间不能有空格。

运行结果:显然s1~s3能够匹配,s4~s6没法匹配。ci

(未完待续……)string

相关文章
相关标签/搜索