您好!欢迎来到爱源码

爱源码

热门搜索: 抖音快手短视频下载   

一起学习正则表达式(1)那些容易混淆的元字符 [源代码交易]

  • 时间:2022-07-15 00:42 编辑: 来源: 阅读:300
  • 扫一扫,手机访问
摘要:一起学习正则表达式(1)那些容易混淆的元字符 [源代码交易]
转载请注明出处:本文来自谢的博客。0.写在前面的开发中,正则表达式经常用于检查邮件和手机号码,批量搜索和替换文本等。 大部分同学,拿到需求,第一件事就是打开浏览器,搜索:如何写邮件的正则表达式,然后Ctrl C+V,测试几个条件,然后提交。出了问题不知道怎么修改,只能求助热心网友。 本文主要带你了解正则表达式的基本用法,有一个初步的了解。看到规律之后,就不再显得傻了。 比如IPv4地址的正则表达式:([1-9] [0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\.(0|[1-9][0-9]?| 1[0-9][0-9]| 2[0-4][0-9]| 25[0-5]){ 3 } $如果你没看过这篇文章,看到这个表情的第一眼一定有点晕。乱七八糟写的是什么?别急,学完之后你会发现那些看似复杂的表情。 本文主要内容的思维导图可以在后续快速查询:思维导图1。在正则表达式中,普通字符仍然表示原义,比如表达式1可以匹配数字1,表达式A可以匹配字母A。 但是如果我们想匹配更多的字符,我们不能列出所有的字符,所以这是浪费时间。有什么更好的办法?那么就是元角色大显身手的时候了。 。点通配符,可以匹配除换行符之外的任何字符:点通配符\d数字通配符,可以匹配数字0-9\D如果D是大写的,它将匹配任何非数字通配符,相当于\d \w字母数字下划线通配符的反义数字通配符,可以匹配任何字母数字下划线\w如果W是大写的,它将匹配任何非字母数字下划线通配符\ S空白通配符,可以分配给任何空白,包括回车、换行符、换页符、制表符等。\S如果S是大写的,任何非空白通配符将在此匹配,特殊的单个字符将结束。综上:特殊单字符2。空白空白空白在下图中被分为几类,一般我们可以用\s来表示:空白3。范围*星号,表示出现。问号,代表0到1次,比如Http协议的规律性可以用Https?它表示m次的{m},例如,a{1}表示匹配。在规则中,字母A只能出现一次{m}表示至少m次,{0,}相当于星号,{1,}相当于加号{m,n}表示m到n次,{0,1}相当于问号范围4。量词|或,。Ab|bc可以匹配Ab或bc[...]有多项选择。例如,[abc]可以与字母A匹配,也可以与字母B或c[a-z]匹配,以匹配A和z之间的任何元素。\w此通配符可以用[a-zA-Z0-9_]来表示,以否定[...],并且不能在括号中。|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\.(0|[1-9][0-9]?| 1[0-9][0-9]| 2[0-4][0-9]| 25[0-5]){ 3 } $你觉得有点想法吗?我们一起来实施吧。先说规则:IPv4地址的范围,我们定义为1.0.0.0-。我们可以得到基本规则[1-255]。[0-255].[0-255].[0-255]可以看出后三位是重复的。[0-255],所以我们只需要先写出[0-255]的规律,然后就很简单了。和$用于标识行的开始。 你可以这样分割0-99的范围。最小位数为1,最大位数为2。那么我们可以使用两个数字作为通配符。为了清晰和美观,我们在这里使用[0-9]。 它被写成:0|[1-9][0-9]?其中0代表数字0,所以[0-9][0-9]因为排除了00而不能用?拜托,中间有个或|后面有[1-9][0-9]?意思是1-99,记得吗?的意思,代表0到1倍。 2.如何表示一个三位数的范围?两位数写好后,三位数就很简单了。让我们写下0-255的范围。 这里注意:当数字达到3位数时,百位数只能是1或2。百位数为2时,十位数只能是0-5。十位数是5的时候,个位数只能是0-5。写下来:0|[1-9][0-9]?| 1[0-9][0-9]| 2[0-4][0-9]| 25[0-5]0-255当范围结束时,1-255的范围就变成:[1-9][0-9]?| 1 [0-9] [0-9] | 2 [0-4] [0-9] | 25 [0-5] 3.组合在最后一个组合下面,你还记得{3}的意思吗,就是这个字符或者组合出现三次:注意:。别忘了用\对点([1 | 1[0-9][0-9]| 2[0-4][0-9]| 25[0-5])进行转义。(0|[1-9][0-9]?| 1[0-9][0-9]| 2[0-4][0-9]| 25[0-5]){ 3 } $大功告成。有没有豁然开朗的感觉?验证:IPv46。最后写到这里,正则表达式的基本用法就完成了。如果你有任何问题,请给我。 正则表达式在线检查工具:https://regex101.com/下一篇文章,我们一起来学习正则断言机制,敬请期待!


  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【技术支持|常见问题】1556原创ng8文章搜索页面不齐(2024-05-01 14:43)
【技术支持|常见问题】1502企业站群-多域名跳转-多模板切换(2024-04-09 12:19)
【技术支持|常见问题】1126完美滑屏版视频只能显示10个(2024-03-29 13:37)
【技术支持|常见问题】响应式自适应代码(2024-03-24 14:23)
【技术支持|常见问题】1126完美滑屏版百度未授权使用地图api怎么办(2024-03-15 07:21)
【技术支持|常见问题】如何集成阿里通信短信接口(2024-02-19 21:48)
【技术支持|常见问题】算命网微信支付宝产品名称年份在哪修改?风水姻缘合婚配对_公司起名占卜八字算命算财运查吉凶源码(2024-01-07 12:27)
【域名/主机/服务器|】帝国CMS安装(2023-08-20 11:31)
【技术支持|常见问题】通过HTTPs测试Mozilla DNS {免费源码}(2022-11-04 10:37)
【技术支持|常见问题】别告诉我你没看过邰方这两则有思想的创意广告! (2022-11-04 10:37)

联系我们
Q Q:375457086
Q Q:526665408
电话:0755-84666665
微信:15999668636
联系客服
企业客服1 企业客服2 联系客服
86-755-84666665
手机版
手机版
扫一扫进手机版
返回顶部