例如正則表達式/\w{5}/可以匹配目標字符串中連續出現五個字符,如"hahfi"、"abadc"、"aaaaa"、"zyich"等都可以成功匹配。如果要求五次出現的都是同一個字符,如"aaaaa"、"ccccc"等,則可以用正則表達式/(\w)\1{4}/來完成匹配,\1{4}表示字匹配(\w)匹配到的結果再重複出現4次。
實例:
<script type="text/javascript">
<!--
var str = "abcde";
var reg = /\w{5}/;
var msg;
if(reg.test(str)){
msg = "成功匹配";
}else{
msg = "匹配失敗";
}
document.write(msg);
-->
</script>
輸出:
成功匹配
------------------------------------------------------------------------------------------------------------------
實例:
<script type="text/javascript">
<!--
var str = "aaaaa";
var reg = /(\w)\1{4}/;
var msg;
if(reg.test(str)){
msg = "成功匹配";
}else{
msg = "匹配失敗";
}
document.write(msg);
-->
</script>
輸出:
成功匹配
-------------------------------------------------------------------------------------------------------------
再來舉個較爲複雜的例子,正則表達式/<(\w+)\s*(\w+(=('|").*?)\4)?\s*)*>.*?<\/\1>/在匹配"<td id='td1' style='color:while'></td>"時成功匹配。這裏的反向引用\1等於(\w+),從而保證了只有當"<td>"與"<
\td>"配對時,模式匹配才成功,否則匹配失敗:而\4等於"'|"",保證"="號後要以單引號"'"或者雙引號"""開始,並以對應的符號結尾,如id='td1',不允許出現id=id='td1'的情況。
實例:
<script type="text/javascript">
<!--
var str = "<td id='td1' style='color:while'></td>";
var reg = /<(\w+)\s*(\w+(=('|").*?\4)?\s*)*>.*?<\/\1>/;
var msg;
if(reg.test(str)){
msg = "成功匹配";
}else{
msg = "匹配失敗";
}
document.write(msg);
-->
</script>
輸出:
成功匹配