正则表达式

学习视频:正则表达式

通配

符号 描述
. 匹配任意一个非断行字符
\w (\W) 匹配(非)字母,数字,_
\d (\D) 匹配(非)阿拉伯数字
\s (\S) 匹配(非)空白字符
[a-z0-9] 字符集合,匹配a-z和0-9中任意一个字符
[\u4e00-\u9fa5] 汉字字符集合

次数

符号 描述
+ 重复一次或多次
* 零次或多次
零个或一个
{a,b} a到b次
{a} 重复a次
{a, } 至少a次
+? +的懒惰模式,尽可能少匹配
*? * 的懒惰模式
?? ?的懒惰模式

边界

符号 描述
^ 行首或字符串开始
$ 行末或字符串结束
\b 单词边界
\B 非单词边界

预查(xxx代表条件)

符号 描述
(xxx) $1 分组匹配
(?:xxx ) $1 只匹配不捕获
(?=xxx) (?!xxx) 正向预查
(?<=xxx) (?<!xxx) 反向预查

常用正则表达式

说明 正则表达式
用户名 ^[a-zA-Z\$][a-zA-Z0-9_\$]{4,16}$
手机号 ^1[34578]\d{9}$
QQ号 ^[1-9][0-9]{4,}$
邮箱 ^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
邮箱 ^[\w\-\\.]+@[\w\\-]+(?:\.[\w]{2,}){1,3}$
18位身份证号码 `^[1-9]\d{5}(18
日期格式 `^\d{4}-(0[1-9]
InternetURL [a-zA-Z]+://[^\s]*
InternetURL ^https?://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$

使用

  • 正则表达式.test(字符串) -> 返回true或false
  • 字符串.match(正则表达式) ->返回符合条件的所有子串