言成言成啊 | Kit Chen's Blog

正则表达式

2019-11-29

概念

什么是正则表达式?

正则表达式:用于匹配规律规则的表达式。

正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE)

作用

  • 匹配:给定的字符串是否符合正则表达式的过渡逻辑
  • 提取:从字符串中获取我们想要的特定部分
  • 替换:强大的字符串替换能力

特点

  • 灵活性、逻辑性和功能性强
  • 迅速地用极简单的方式达到字符串的复杂控制

测试

在线测试正则

组成

普通字符元字符两部分组成

普通字符

普通字符包括没有显式指定为元字符的所有可打印和不可打印字符。这包括所有大写和小写字母、所有数字、所有标点符号和一些其他符号。

元字符

常用元字符串
元字符 说明
\d 匹配数字 [0-9]
\D 匹配任意非数字的字符 [^0-9]
\w 匹配字母或数字或者下划线 [a-zA-Z_0-9]
\W 匹配任意不是字母、数字、下划线 [^a-zA-Z_0-9]
\s 匹配任意的空白符 [ \t\n\x0B\f\r]
\S 匹配任意不是空白符的字符 [^\s]
. 匹配除换行符以外的任意单个字符
^ 表示匹配行首的文本(以…开始)
$ 表示匹配行尾的文本(以…结束)
限定符
限定符 说明
* 重复0次或者多次
+ 重复1次或者多次
重复0次或者1次
{n} 重复n次
{n,} 重复n次或者多次
{n,m} 重复n到m次
其他
其他 含义
[] 字符串用中括号括起来,表示匹配其中的任一字符,相当于或的意思
[^] 匹配除中括号以内的内容
\ 转义符
| 或者,选择两个中的一个,注意|将左右两边分为两部分,而不管左右两边有多长多乱
() 从两个直接量中选择一个,分组 eg:gr(a|e)y匹配gray和grey

[\u4e00-\u9fa5] 匹配汉字

案例

验证手机号:

1
^\d{11}$

验证邮编:

1
^\d{6}$

验证日期 2019-11-29

1
^\d{4}-\d{1,2}-\d{1-2}$

验证邮箱meethigher@qq.com

1
^\w+@\w+\.\w+$

验证ip地址 192.168.1.10

1
^\d{1,3}\(.\d{1,3}){3}$
阅读量