(……續例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