Javascript经典实例 - 正则表达式

时间:2022-08-01 03:22:55

1] 正则常用字符

正则表达式常用的特殊字符
字符 匹配 示例
^ 匹配输入的开始 /^This/匹配 “This is ...”
$ 匹配输入的结束 /end$/匹配“This is the end”
* 匹配0次或多次 /se*/匹配“seeee”,也匹配“se”
? 匹配0次或一次 /ap?/匹配“apple”和“and”
+ 匹配一次或多次 /ap+/匹配“apple”但不匹配“and”
{n} 严格匹配n次 /ap{2}/匹配“apple” 但不匹配“apie”
{n,} 匹配n次或多余n次 /ap{2,}/匹配“apple”和“appple”中的所有p,但不匹配“apie”
{n, m} 匹配至少n次,至多m次 /ap{2,4}/匹配“apppppple”中的4个p
. 除了换行以外的任何字符 /a.e/匹配“ape”和“axe”
[...] 方括号中的的任何字符 /a[px]e/匹配“ape”和“axe”,但不匹配“ale”
[^...] 除方括号内字符以外的任何字符 /a[px]e/匹配ale,但不匹配ape,或者axe
\b 边界上的单词 \bno\匹配“none”中的第一个“no”
\B 非边界上的单词 \Bno\匹配“none”中的第二个“no”
\d 从0-9的数字等价于[0-9] /\d{3}/匹配“Now in 123”中的“123”
\D 任何非数字的字符等价于[^0-9] /\D{2,4}/匹配“Now in 123”中的“Now”
\w 匹配单词字符(字母、数字、下划线)等价于[a-zA-Z0-9_] /\w/匹配javascript中的“j”
\W 匹配非单词字符(非字母、数字、下划线) /\W/匹配“100%”中的“%”
\n 匹配一个换行  
\s 一个单个的空白字符  
\S 一个单个的非空白字符  
\t 一个制表符  
(x) 捕获圆括号 记住匹配的字符
 

2] 正则和其他对象一样,也有直接量和对象RegExp之分

 //正则对象
var re = new RegExp("a\s+b");
//正则直接量
/a\s+b/
//最终匹配a b,或者a b,但不匹配ab

(未完待续...)