搜索:
首页 >> JavaScript >> Js高级编程 >> 快速掌握JavaScript正则表达式

快速掌握JavaScript正则表达式

2010-1-23 作者:dh20156 来源:w3cgroup 投递文章

EcmaScript正則表達式( 深入淺出系列之淺出 ^_^ )

在线正则表达式测试:http://tool.aspxhome.com/RegExp-Tester.htm

使用方法

創建對象
    var r = new RegExp("表達式","ig");
    適合在動態構造匹配對象時使用;
    表達式中轉義符需要使用兩次,如\\d;


直接量
    var r = /表達式/ig;
    使用在任何固定模式的匹配;

常用屬性

$1...$9
    返回九个在模式匹配期间找到的、最近保存的部分。只读。
index
    返回第一个成功匹配的开始位置。只读。
lastIndex    *(注意)
    返回最后一次成功匹配的位置(下一次匹配開始的位置)。讀寫。
    只有當使用exec()或test()函數時才會寫入。
lastMatch
    返回最后匹配的字符。只读。
input
    返回查找的字符串。只读。

lastIndex

考慮以下代碼:

<script type="text/javascript">

var r = /\d/g;

alert(r.test('abc1'));
alert(r.lastIndex);

alert(r.test('ab1'));
alert(r.lastIndex);

alert(r.test('a1'));
alert(r.lastIndex);

</script>

lastIndex屬于實例屬性

當一個正則表達式實例多次test或exec時,它的lastIndex將每一次都被更改。

量詞

?
    出現0次或1次
*
    出現0次或多次
+
    出現1次或多次
{n}
    一定出現n次
{n,m}
    至少出現n次,最多出現m次
{n,}
    至少出現n次

貪婪與非貪婪(惰性)的量詞

貪婪匹配:
?
*
+
{n}
{n,m}
{n,}

非貪婪匹配:
??
*?
+?
{n}?
{n,m}?
{n,}?

1   2 下一页 尾 页
相关文章