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的值 ,也就改变了下次
匹配的起始位置。
javaScript中的一些 正则表达式 的基础知识。
最新推荐文章于 2024-10-28 13:53:13 发布