javaScript中的一些 正则表达式 的基础知识。



1.RegExp.test(sToMatch) 模式在字符串(sToMatch)中出现一次(第一次)就返回true。

2.RegExp.exec(sToMatch) 返回一个数组,数组中的第一个条目是第一个匹配,其他的是本次匹配中的反向引用。

3.sToMatch.match(RegExp) 反回一个包含在字符串中所有匹配的数组(注意跟RegExp后面的处理命令有关,如果/g则为全部,否则默认第一次出现

)。

元字符:
( [ { / ^ $ | } ] ) ? * .
任何时候在使用到这些元字符的时候都必须对它们进行转义。例:var reQMark=//?/ 或 var reQMark= new RegExp("//?"); (注意进行双重转义)

特殊字符:/t /n /r /f /a /e /cX /b /v /0


字符类:
1.简单类    [abc1/n]
2.负向类    [^abc/n]
3.范围类    [a-z],[1-4]
4.组合类    [a-z1-4/n]
5.预定义类    .,/d,/D

量词:用于指定某个特定模式出现的次数。
?    出现零次或一定
*    出现零次或多次(任意次)
+    出现1次多次(至少一次)
{n}    一定出现n次
{n,m}    至少出现n次但不超过m次
{n,}    到少出现n次
量词也可以和字符类一起使用。例如/b[ae]{1,2}d/ 表示:字符类[ae]可以出现最少一次,最多两次。

量词分类:
贪婪    最多匹配,先对整个串进行匹配,如果没发现匹配,则去掉最后的字符再进行匹配。。。依次循环。。。
惰性    最少匹配,先对第一个字符进行匹配,如果没发现匹配,则读入下一个字符再进行匹配。。。依次循环。。。
支配性    一次性匹配(匹配整个串) 对整个串进行匹配,如果不匹配也不再进行尝试。

表示方式

贪婪        惰性(?)        支配(+)
?        ??        ?+
*        *?        *+
+        +?        ++
{n}        {n}?        {n}+
{n,m}        {n,m}?        {n,m}+
{n,}        {n,}?        {n,}+

浏览器对支配量词的支持还行不完善。IE和Opera不支持支配量词,如果要使用它,就会抛出一个错误。Mozilla不会产生错误,但会把支配量词看

作为贪婪的。


RegExp对象:
js中的每个正则表达式都是一个对象,同其他对象一样。
这个对象有一些有用的实例属性:global,ignoreCase,lastIndex,multiline,source,最有用的应该就是lastIndex,它是一个整数,代表下次匹配将

会从哪个字符位置开始(只有当使用exec(),test()函数才会填入,否则为0).在进行匹配的过程中,也可以改变lastIndex的值 ,也就改变了下次

匹配的起始位置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值