- 元字符
-
. 匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线或文字 \s 匹配任意的空白符 \d 匹配数字 \b 匹配单词的开始或结束 ^ 匹配字符串的开始 $ 匹配字符串的结束
例如:
匹配有abc开头的字符串:/babc或^abc
匹配8位数字的qq号码:^\d\d\d\d\d\d\d\d$
- 重复限定符
-
* 重复零次或更多次 + 重复一次或更多次 ? 重复零次或一次 {n} 重复n次 {n,} 重复n次或更多次 {n,m} 重复n到m次
例如:
匹配8位数字的qq号码可写为:^\d{8}$
匹配以a开头的,0个或多个b结尾的字符串:^ab*$
-
分组
-
* 限定符作用范围是与它左边最近的一个字符 当我们需要ab同时被 * 作用时需使用小括号即^(ab) *
-
-
转义
-
如果匹配的字符串含有小括号(与^(ab)*中的小括号冲突),此时需要使用 \ 进行转义 例如:匹配以(ab)开头的字符串:^(\ (ab\ )) *
-
-
条件或
-
手机号,国内的手机号码都有属于自己的号段,例如联通有130/131/132/155/156/185/186/145等号段。 假设需要匹配这些号段,那么可以使用正则表达式进行表达(手机号码为11位):^(130|131|132|155|156|185|186|145)\d{8}$
-
-
区间
-
正则中可用[ ]来表示区间条件 例如:0到9可写成[0-9]、A到Z可写成[A-Z]、限定数字如[165] 上述手机号码的例子可以写成^((13[0-2])|15[56])|(18[5-6])|145)\d{8}$
-