其他教程

其他教程

Products

当前位置:首页 > 其他教程 >

正则表达式匹配字符串组合

GG网络技术分享 2025-03-18 16:15 1


问题描述:

谁有完整的正则表达式匹配字符串组合的word文档,正则表达式感觉使用的好频繁,想全部仔细的看看

网友观点:

正则表达式应用——实例应用

1.验证用户名和密码:(\\\"^[a-zA-Z]\\w{5,15}$\\\")正确格式:\\\"[A-Z][a-z]_[0-9]\\\"组成,并且第一个字必须为字母6~16位;
  2.验证电话号码:(\\\"^(\\d{3.4}-)\\d{7,8}$\\\")正确格式:xxx/xxxx-xxxxxxx/xxxxxxxx;
  3.验证身份证号(15位或18位数字):(\\\"^\\d{15}|\\d{18}$\\\");
  4.验证Email地址:(\\\"^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$\\\");
  5.只能输入由数字和26个英文字母组成的字符串:(\\\"^[A-Za-z0-9]+$\\\") ;
  6.整数或者小数:^[0-9]+\\.{0,1}[0-9]{0,2}$
  7.只能输入数字:\\\"^[0-9]*$\\\"。
  8.只能输入n位的数字:\\\"^\\d{n}$\\\"。
  9.只能输入至少n位的数字:\\\"^\\d{n,}$\\\"。
  10.只能输入m~n位的数字:。\\\"^\\d{m,n}$\\\"
  11.只能输入零和非零开头的数字:\\\"^(0|[1-9][0-9]*)$\\\"。
  12.只能输入有两位小数的正实数:\\\"^[0-9]+(.[0-9]{2})?$\\\"。
  13.只能输入有1~3位小数的正实数:\\\"^[0-9]+(.[0-9]{1,3})?$\\\"。
  14.只能输入非零的正整数:\\\"^\\+?[1-9][0-9]*$\\\"。
  15.只能输入非零的负整数:\\\"^\\-[1-9][]0-9\\\"*$。
  16.只能输入长度为3的字符:\\\"^.{3}$\\\"。
  17.只能输入由26个英文字母组成的字符串:\\\"^[A-Za-z]+$\\\"。
  18.只能输入由26个大写英文字母组成的字符串:\\\"^[A-Z]+$\\\"。
  19.只能输入由26个小写英文字母组成的字符串:\\\"^[a-z]+$\\\"。
  20.验证是否含有^%&\',;=?$\\\\\"等字符:\\\"[^%&\',;=?$\\x22]+\\\"。
  21.只能输入汉字:\\\"^[\\u4e00-\\u9fa5]{0,}$\\\"
  22.验证URL:\\\"^http://([\\w-]+\\.)+[\\w-]+(/[\\w-./?%&=]*)?$\\\"。
  23.验证一年的12个月:\\\"^(0?[1-9]|1[0-2])$\\\"正确格式为:\\\"01\\\"~\\\"09\\\"和\\\"1\\\"~\\\"12\\\"。
  24.验证一个月的31天:\\\"^((0?[1-9])|((1|2)[0-9])|30|31)$\\\"正确格式为;\\\"01\\\"~\\\"09\\\"和\\\"1\\\"~\\\"31\\\"。
  25.获取日期正则表达式:\\d{4}[年|\\-|\\.]\\d{\\1-\\12}[月|\\-|\\.]\\d{\\1-\\31}日?
  评注:可用来匹配大多数年月日信息。
  26.匹配双字节字符(包括汉字在内):[^\\x00-\\xff]
  评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
  27.匹配空白行的正则表达式:\\n\\s*\\r
  评注:可以用来删除空白行
  28.匹配HTML标记的正则表达式:<(\\S*?)[^>]*>.*?</>|<.*? />
  评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力
  29.匹配首尾空白字符的正则表达式:^\\s*|\\s*$
  评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式
  30.匹配网址URL的正则表达式:[a-zA-z]+://[^\\s]*
  评注:网上流传的版本功能很有限,上面这个基本可以满足需求
  31.匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
  评注:表单验证时很实用
  32.匹配腾讯QQ号:[1-9][0-9]\\{4,\\}
  评注:腾讯QQ号从1000 0 开始
  33.匹配中国邮政编码:[1-9]\\d{5}(?!\\d)
  评注:中国邮政编码为6位数字
  34.匹配ip地址:((2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(2[0-4]\\d|25[0-5]|[01]?\\d\\d?)。

用那个学霸君搜一下就有了

图解正则——字符匹配

简介

正则表达式是绕不开的,正则的强大是众所周知的,学会它对我们的编程也是有大大的帮助

模糊匹配

正则表达式之所以强大,就要归功于它的模糊匹配,不能可以匹配不同数量的字符串,还可以匹配不同内容的字符串。如果正常只能精确匹配字符串,那正则的效果就没有啥用了比如:/a/就匹配一个a字符。

用于匹配字符串长度的横行匹配

匹配的字符串长度是不固定的,如图所示:

用于匹配字符串多种情况内容的纵向匹配

匹配的字符串的内容是几种情况中的一种,如图所示:

字符组

我们在写正则匹配的时候,在一个位置上,比如一个字符串的某个索引上可能的值有很多个,假设就是abc其中一个字母。那么我们就需要用到字符组,大概的意思就是一组字符中的其中一个。

  • 表示一个位置可能出现的多种情况,正则表示/[abc]/,图解如下:
  • 表示一个范围取值,也是多种情况取其一,正则表示[1-6a-f],图解如下:

在表示范围这里需要注意下,有时我们需要匹配的就只是表示范围的三个值比如:a - f 那我们的正则就不能[a-f] 这样写了,需要像这样写:

[-af]

[-fa]

[a-f]

  • 排除部分值,也就是说把不要的值写出来,正则[^abc]表示排除abc其中之一,图解如下:
  • 常见的几种简写方式
  1. \\d = [0-9]
  1. \\D = [^0-9]
  1. \\w = [0-9a-zA-Z_]
  1. \\W = [^0-9a-zA-Z]
  1. \\s = [\\t\\v\\n\\r\\f]
  1. \\S = [^\\t\\v\\n\\r\\f]
  1. . = [^\\n\\r\\u2028\\u2029]

量词

简写形式

  • {m,}至少出现m次,m是一个数量。比如a{9,}表示a至少出现9次,如图
  • {m} = {m,m} = 出现m次。比如a{9}表示a出现9次,如图:
  • ? = {0,1} = 不出现或出现一次。比如a?表示a不出现或者出现1次,如图:
  • + = {1,} = 至少出现1次。比如a+表示a至少出现1次,如图:
  • * = {0,}= 出现任意多次。比如a*表示a出现任意多次,可能很多,也可能一次没出现,如图:

多条分支

也是表示多种情况中的一种用来表示,比如:a|b|c,表示abc其中之一,如图:

小结

以上就是学习正则的初步理解和图示,用图来表示正则非常好理解,欢迎大家查阅,有问题请指出,觉得不错,可以给个赞,谢谢!!!

标签:

提交需求或反馈

Demand feedback