JavaScript正则表达式19例(6)

本文通过具体的示例讲解了正则表达式的使用方法,包括如何定义特定的匹配模式,并演示了一个关于数字字符串的匹配案例。

(……续例5)

例6:重复描述符匹配


  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次,该符号的一般形式为:

{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} m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。刘, "o{1,3}" 将匹配 "fooooood" 中的前三个 o。'o{0,1}' 等价于 'o?'。请注意在逗号和两个数之间不能有空格。

运行结果:显然s1~s3可以匹配,s4~s6无法匹配。

(未完待续……)










本文转自 BlackAlpha 51CTO博客,原文链接:http://blog.51cto.com/mengliao/467804,如需转载请自行联系原作者
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值