必知必会的正则表达式

目录

1 正则表达式概念

2 正则表达式语法

元字符

限定符

反义词

3 正则表达式的应用

汉字

字符

数字

邮政编码

日期格式

手机号码

IP地址

邮箱地址

身份证号

特殊字符

4 正则表达式可视化

iHate Regex

regex101

The Regular Expression Visualizer, Simulator & Cross-Compiler Tool


1 正则表达式概念

正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

2 正则表达式语法

元字符

符号含义
.匹配除换行符以外的任意字符
\w匹配字母或数字或下划线
\s匹配任意的空白符
\d匹配数字
\b匹配单词的开始或结束
^匹配字符串的开始
$匹配字符串的结束

限定符

符号含义
*重复零次或更多次
+重复一次或更多次
?重复零次或一次
{n}重复n次
{n,}重复n次或更多次
{n,m}重复n到m次

反义词

符号含义
\W匹配任意不是字母,数字,下划线,汉字的字符
\S匹配任意不是空白符的字符
\D匹配任意非数字的字符
\B匹配不是单词开头或结束的位置
[^x]匹配除了x以外的任意字符
[^aeiou]匹配除了aeiou这几个字母以外的任意字符

3 正则表达式的应用

汉字

2-4个汉字

^[\u4e00-\u9fa5]{2,4}$

字符

4个英文字符

^([A-Za-z]{4}$

数字

n个数字两种实现:

^[0-9]{n}$

^\d{n}$

邮政编码

^[0-9]{6}$

[1-9]\d{5}(?!\d)

日期格式

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

手机号码

^1[3-9][0-9]{9}$

IP地址

查找ip

\d+.\d+.\d+.\d+

验证ip

((?:(?:25[0-5]|2[0-4]\d|[01]?\d?\d).){3}(?:25[0-5]|2[0-4]\d|[01]?\d?\d))

邮箱地址

两种实现方式:

^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+$

^\w+([-+.]\w+)*@\w+([-.]\w+).\w+([-.]\w+)$

身份证号

两种实现方式:

^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|" + "(^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}$

^([0-9]){7,18}(x|X)?$ 或 ^\d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?$

特殊字符

我们都知道[、. 、]在正则表达式中有着特定的含义,如果仅仅是想匹配[、.、]本身,则需要对特殊字符进行转义。如:[、.、]。转义符\如果也想匹配本身,则为 \。

4 正则表达式可视化

iHate Regex

https://ihateregex.io/

regex101

https://regex101.com/

The Regular Expression Visualizer, Simulator & Cross-Compiler Tool

https://blog.robertelder.org/regular-expression-visualizer/

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值