正则表达式应用宝典:数字、字符与固定格式详解

更新:11-13 神话故事 我要投稿 纠错 投诉

列出目录时,dir.txt或ls.txt中的.txt不是正则表达式,因为这里*的含义与正则表达式不同。

构造正则表达式的方式与创建数学表达式的方式相同。也就是说,可以使用各种元字符和运算符将小表达式组合在一起以创建更大的表达式。正则表达式的组成部分可以是单个字符、字符集合、字符范围、字符之间的选择或所有这些组成部分的任意组合。

正则表达式是由普通字符(例如字符a 到z)以及称为“元字符”的特殊字符组成的文字模式。模式描述搜索文本时要匹配的一个或多个字符串。正则表达式用作将字符模式与搜索字符串进行匹配的模板。

以下是小编日常收集的一些工作中常用的正则表达式,常用的正则验证表达式:

数字相关的正则表达式

数字:^[0-9]$

n位定长数:^d{n}$

m-n 位之间的数字:^d{m,n}$

以零和非零开头的数字:^(0|[1-9][0-9])$

以非零开头且最多保留两位小数的数字:^([1-9][0-9])+(.[0-9]{1,2})?$

正数或负数,保留1-2 位小数:^(-)?d+(.d{1,2})?$

正数、负数和小数:^(-|+)?d+(.d+)?$

保留两位小数的正实数:^[0-9]+(.[0-9]{2})?$

小数点后1 到3 位的正实数:^[0-9]+(.[0-9]{1,3})?$

正整数:^d+$ 或^[1-9]d|0$

负整数:^-[1-9]d|0$ 或^((-d+)|(0+))$

正浮点数:^[1-9]d.d|0.d[1-9]d$ 或^(([0-9]+.[0-9][1-9] [ 0-9])|([0-9][1-9][0-9].[0-9]+)|([0-9][1-9][0-9])) $

负浮点数:^-([1-9]d.d|0.d[1-9]d)$ 或^(-(([0-9]+.[0-9]) [ 1-9][0-9])|([0-9][1-9][0-9].[0-9]+)|([0-9][1-9][0 - 9])))$

浮点数:^(-?d+)(.d+)?$ 或^-?([1-9]d.d|0.d[1-9]d*|0? 0 +|0)$

字符相关的正则表达式

汉字:^[u4e00-u9fa5]{0,}$

长度为3-20 的所有字符:^.{3,20}$

由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$

由数字、26个英文字母或下划线组成的字符串:^w+$ 或^w{3,20}$

中文、英文、数字含下划线:^[u4E00-u9FA5A-Za-z0-9_]+$

中文、英文、数字但不包括下划线和其他符号:^[u4E00-u9FA5A-Za-z0-9]+$ 或^[u4E00-u9FA5A-Za-z0-9]{2,20}$

帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$

密码(以字母开头,长度在6到18之间,只能包含字母、数字和下划线):^[a-zA-Z]w{5,17}$

强密码(必须包含大小写字母和数字的组合,无特殊字符,长度在8-10之间):^(?=.d)(?=.[a-z])(?=.*[A-Z ] ).{8,10}$

固定格式常规正则表达式

电子邮件地址: ^w+([-+.]w+)@w+([-.]w+).w+([-.]w+)$

网站域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9] { 0,62})+/.

网址: ^http://([w-]+.)+[w-]+(/[w-./?%=])?$

手机号码: ^(13[0-9]|17[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0 |1|2|3|5|6|7|8|9])d{8}$

电话号码(“XXX-XXXXXXX”、“XXXX-XXXXXXXX”、“XXX-XXXXXXX”、“XXX-XXXXXXX”、“XXXXXXX”和“XXXXXXXXX”):^((d{3,4}-)| d {3.4}-)?d{7,8}$

国内电话号码(0511-4405222、021-87888822):d{3}-d{8}|d{4}-d{7}

身份证号码(15位、18位):^d{15}|d{18}$

日期格式:^d{4}-d{1,2}-d{1,2}

一年中的12 个月(01~09 和1~12):^(0?[1-9]|1[0-2])$

每月31 天(01~09 和1~31):^((0?[1-9])|((1|2)[0-9])|30|31)$

腾讯QQ号码:[1-9][0-9]{4,8}(腾讯QQ号码从10000开始,目前最长为10位)

中国邮政编码:[1-9]d{5}(?d)(中国邮政编码为6位)

IP 地址:d+.d+.d+.d+(提取IP 地址时有用)

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

用户评论

*巴黎铁塔

学习正则表达式真的有用!这篇文章分享很多常用表达式的例子,看的时候豁然开朗。

    有9位网友表示赞同!

清原

想做一些数据清洗的工作,现在知道有这样的资料就太棒了!

    有11位网友表示赞同!

烬陌袅

这么多常用的 正则表达式都收集在这里了,真是高手啊!

    有16位网友表示赞同!

减肥伤身#

这个分享的分类很细致,能更清楚地理解每个正则表达式的用途。

    有15位网友表示赞同!

陌颜

我一直在寻找通用的正则表达式大全,终于找到了!感谢分享!

    有20位网友表示赞同!

话少情在

这篇文章简直就是干货满满啊!太难得了!

    有17位网友表示赞同!

陌上花

学习编程的时候遇到的很多场景都需要用到正则表达式,这份资料对我来说非常有用

    有6位网友表示赞同!

打个酱油卖个萌

数字、字符、固定格式,我这边用的比较多是数字和字符类型的,看了一下这个里面有我的需求。

    有20位网友表示赞同!

巷口酒肆

希望能看到更多具体的例子,更容易理解操作方法。

    有17位网友表示赞同!

我一个人

这些表达式能让我更快速地验证数据,提高效率!

    有13位网友表示赞同!

你与清晨阳光

平时工作用到正则表达式很多,有了这个大全就可以直接查询了!

    有19位网友表示赞同!

■□丶一切都无所谓

看起来很专业,等我认真学习一遍试试能不能用得上我的项目里。

    有9位网友表示赞同!

折木

这篇文章总结得很到位,以后碰到类似问题就来这里查找答案好了!

    有18位网友表示赞同!

咆哮

正则表达式确实很难学,感谢作者整理这么有用的资料!

    有6位网友表示赞同!

々爱被冰凝固ゝ

分享这样的宝贵资料真的太棒了!希望能帮助到更多人!

    有10位网友表示赞同!

信仰

我想学习写自己的正则表达式,这份大全是我的入门指南。

    有13位网友表示赞同!

糖果控

收藏起来,以后肯定需要用到这些常用的表达式。

    有13位网友表示赞同!

你瞒我瞒

这篇文章很有深度,让我对正则表达式的理解有了新的加深!

    有18位网友表示赞同!

殃樾晨

我发现正则表达式很多时候都能解决实际问题,太棒了!

    有6位网友表示赞同!

【正则表达式应用宝典:数字、字符与固定格式详解】相关文章:

1.蛤蟆讨媳妇【哈尼族民间故事】

2.米颠拜石

3.王羲之临池学书

4.清代敢于创新的“浓墨宰相”——刘墉

5.“巧取豪夺”的由来--米芾逸事

6.荒唐洁癖 惜砚如身(米芾逸事)

7.拜石为兄--米芾逸事

8.郑板桥轶事十则

9.王献之被公主抢亲后的悲惨人生

10.史上真实张三丰:在棺材中竟神奇复活

上一篇:Linux 命令行文件下载加速神器:Axel深度解析 下一篇:免费发布信息:北京分类信息网的独特优势解析