正则表达式实用指南:数字与字符匹配技巧解析

更新:11-13 民间故事 我要投稿 纠错 投诉

大家好,今天来为大家解答正则表达式实用指南:数字与字符匹配技巧解析这个问题的一些问题点,包括也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~

3 至少n 位数字:^d{n,}$

4 m-n 位数字:^d{m,n}$

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

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

7 具有1-2 位小数的正数或负数:^(-)?d+(.d{1,2})?$

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

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

10 个带1~3 位小数的正实数:^[0-9]+(.[0-9]{1,3})?$

11 非零正整数:^[1-9]d*$ 或^([1-9][0-9]*){1,3}$ 或^+?[1-9][0 -9]*$

12 个非零负整数:^-[1-9][]0-9"*$ 或^-[1-9]d*$

13 个非负整数:^d+$ 或^[1-9]d*|0$

14 个非正整数:^-[1-9]d*|0$ 或^((-d+)|(0+))$

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

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

17 正浮点数:^[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]*))$

18 负浮点数:^-([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]*)))$

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

2. 校验字符的表示

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

2 英文和数字:^[A-Za-z0-9]+$ 或^[A-Za-z0-9]{4,40}$

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

4 26个英文字母组成的字符串:^[A-Za-z]+$

5 由26个大写英文字母组成的字符串:^[A-Z]+$

6 26个小写英文字母组成的字符串:^[a-z]+$

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

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

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

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

11 可以输入包含^%",=?$"的字符及其他字符:[^%",=?$x22]+

12 禁止输入含有~的字符:[^~x22]+

3.特殊需求的表达

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

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

3 InternetURL: [a-zA-z]+://[^s]* 或^http://([w-]+.)+[w-]+(/[w-./?%=]*)?$

4 手机号码:^(13[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}$

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

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

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

8 短ID 号(数字、以x 结尾的字母):^([0-9]){7,18}(x|X)?$ 或^d{8,18}|[0-9x]{8 ,18}|[0-9X]{8,18}?$

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

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

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

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

13 一年中的12 个月(0109 和112):^(0?[1-9]|1[0-2])$

14 每月31 天(0109 和131):^((0?[1-9])|((1|2)[0-9])|30|31)$

15 资金输入格式:

16 1. 我们可以接受四种货币表示形式:"10000.00"和"10,000.00",以及不带"cents"的"10000"和"10,000":^[1-9][0-9]*$

17 2.这意味着任何不以0开头的数字,但也意味着字符"0"不通过,所以我们使用以下形式:^(0|[1-9][0-9]* )$

18 3. 0 或不以0 开头的数字。我们还可以允许开头有负号:^(0|-?[1-9][0-9]*)$

19 4. 这表示一个0 或一个可能为负数且不以0 开头的数字。让用户以0 开头。还要删除负号,因为钱不能为负数。接下来我们需要添加的是指定可能的小数部分:^[0-9]+(.[0-9]+)?$

20 5. 必须注意的是,小数点后至少应有1 位数字,即“10”。未通过,但通过了"10" 和"10.2":^[0-9]+(.[0 -9]{2})?$

21 6、这样我们就规定小数点后必须有两位小数。如果你觉得太苛刻了,可以这样做:^[0-9]+(.[0-9]{1,2})?$

22 7. 这允许用户仅写入一位小数。接下来我们应该考虑数字中的逗号,我们可以这样做:^[0-9]{1,3}(,[0-9]{3})* (.[0-9]{1,2} )?$

23 8.1 到3 个数字,后跟任意数量的逗号+ 3 个数字,逗号变为可选而不是必需:^([0-9]+|[0-9]{1,3}(,[0- 9] {3})*)(.[0-9]{1,2})?$

24 注:这是最终结果。不要忘记,如果你认为空字符串可以接受,那么"+"可以替换为"*"(奇怪,为什么?)最后,在使用函数时不要忘记删除负数。斜杠,常见错误在这里

25 xml 文件:^([a-zA-Z]+-?)+[a-zA-Z0-9]+\.[x|X][m|M][l|L]$

26个汉字正则表达式:[u4e00-u9fa5]

27个双字节字符:[^x00-xff](包括汉字,可以用来计算字符串的长度(一个双字节字符的长度算2,一个ASCII字符的长度算作1))

28 空行的正则表达式:ns*r(可用于删除空行)

29 HTML 标签的正则表达式:(S*?)[^]*.*?1|.*? /(网上流传的版本太烂了,上面的只是部分有效,对于复杂的嵌套标签还是有效的,无能为力)

30 前导和尾随空白字符的正则表达式:^s*|s*$ 或(^s*)|(s*$) (可用于删除行首和行尾的空白字符(包括空格、制表符、字符、换页符等),非常有用的表达式)

31 腾讯QQ号码:[1-9][0-9]{4,}(腾讯QQ号码从10000开始)

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

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

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

用户评论

桃洛憬

终于有了一个地方可以把常用的正则表达式找过来!

    有19位网友表示赞同!

柠栀

整理得真好,以后写程序的时候不用再去搜了好久。

    有7位网友表示赞同!

暖瞳

这个“常用”是指哪个领域的使用频率?

    有9位网友表示赞同!

麝香味

数字匹配和字符匹配分类挺清晰的,特殊匹配部分可以再多详细点吗?

    有20位网友表示赞同!

拥菢过后只剰凄凉

对学习正则表达式的宝宝来说非常实用!

    有9位网友表示赞同!

盲从于你

有没有包含更高级的正则表达式匹配场景?

    有15位网友表示赞同!

日久见人心

分享一下你在哪些项目中用到了这些正则表达式吧!

    有15位网友表示赞同!

花海

我想知道如何根据这篇文章学习到可以实际应用的正则表达式。

    有20位网友表示赞同!

强辩

这份汇总是否会持续更新呢?

    有6位网友表示赞同!

单身i

感谢作者整理这些资源,真是帮了我很大的忙!

    有11位网友表示赞同!

羁绊你

我经常用到数字匹配和特殊匹配的正则表达式,看起来挺全面的。

    有20位网友表示赞同!

纯真ブ已不复存在

如果能用代码示例来展示每个正则表达式的用法效果更好。

    有18位网友表示赞同!

?娘子汉

对于不同程序语言的支持情况有没有介绍?

    有9位网友表示赞同!

花花世界总是那么虚伪﹌

学习正则表达式感觉很难,这个汇总可以让我慢慢入门吧!

    有14位网友表示赞同!

漫长の人生

期待看到更多关于特殊匹配的正则表达式案例。

    有5位网友表示赞同!

青楼买醉

我觉得这篇文章可以作为正则表达式初学者很好的学习指南。

    有16位网友表示赞同!

呆萌

希望以后能添加一些更常见但较为复杂类型的正则表达式。

    有14位网友表示赞同!

别在我面前犯贱

这个汇总非常简洁易懂,很棒!

    有9位网友表示赞同!

【正则表达式实用指南:数字与字符匹配技巧解析】相关文章:

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

2.米颠拜石

3.王羲之临池学书

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

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

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

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

8.郑板桥轶事十则

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

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

上一篇:揭秘顶级复刻:劳力士复刻表哪家制造厂最值得信赖? 下一篇:岁寒输入法Android版本使用指南