(……续例5)正则表达式
例6:重复描述符匹配
ide
- void function reg_06()
- {
- var s1 = "1024",
- s2 = "+1024",
- s3 = "1,024",
- s4 = "1",
- s5 = "-1024",
- s6 = "10000";
- var r = /^\+?[1-9],?\d{3}$/g;
- for (i = 1; i <= 6; i++)
- {
- t = "alert(s" + i + ".match(r));"
- eval(t);
- }
- }
行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} | m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。刘, "o{1,3}" 将匹配 "fooooood" 中的前三个 o。'o{0,1}' 等价于 'o?'。请注意在逗号和两个数之间不能有空格。 |
运行结果:显然s1~s3能够匹配,s4~s6没法匹配。ci
(未完待续……)string