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
(未完待续...)