大家好,今天来为大家解答正则表达式实用指南:数字与字符匹配技巧解析这个问题的一些问题点,包括也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~
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))
【正则表达式实用指南:数字与字符匹配技巧解析】相关文章:
2.米颠拜石
3.王羲之临池学书
8.郑板桥轶事十则
用户评论
终于有了一个地方可以把常用的正则表达式找过来!
有19位网友表示赞同!
整理得真好,以后写程序的时候不用再去搜了好久。
有7位网友表示赞同!
这个“常用”是指哪个领域的使用频率?
有9位网友表示赞同!
数字匹配和字符匹配分类挺清晰的,特殊匹配部分可以再多详细点吗?
有20位网友表示赞同!
对学习正则表达式的宝宝来说非常实用!
有9位网友表示赞同!
有没有包含更高级的正则表达式匹配场景?
有15位网友表示赞同!
分享一下你在哪些项目中用到了这些正则表达式吧!
有15位网友表示赞同!
我想知道如何根据这篇文章学习到可以实际应用的正则表达式。
有20位网友表示赞同!
这份汇总是否会持续更新呢?
有6位网友表示赞同!
感谢作者整理这些资源,真是帮了我很大的忙!
有11位网友表示赞同!
我经常用到数字匹配和特殊匹配的正则表达式,看起来挺全面的。
有20位网友表示赞同!
如果能用代码示例来展示每个正则表达式的用法效果更好。
有18位网友表示赞同!
对于不同程序语言的支持情况有没有介绍?
有9位网友表示赞同!
学习正则表达式感觉很难,这个汇总可以让我慢慢入门吧!
有14位网友表示赞同!
期待看到更多关于特殊匹配的正则表达式案例。
有5位网友表示赞同!
我觉得这篇文章可以作为正则表达式初学者很好的学习指南。
有16位网友表示赞同!
希望以后能添加一些更常见但较为复杂类型的正则表达式。
有14位网友表示赞同!
这个汇总非常简洁易懂,很棒!
有9位网友表示赞同!