前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >正则表达式详解

正则表达式详解

作者头像
wangxl
发布2018-03-07 16:17:15
6580
发布2018-03-07 16:17:15
举报
文章被收录于专栏:PHP在线

点号(.)是元字符,匹配除换行符以外的任意字符。

星号(*)是元字符,代表数量。 点号星号连在一起就是匹配任意数量的不包括换行符的字符。 \s匹配任意空白字符。 \b匹配单词开始或者结束。 []匹配括号中的任意一个字符。 电话正则: 0\d{2}-\d{8} {5-18}错误,应该{5,18}匹配5至18位 匹配标题 <title>.*<\/title> {n,}//重复n次或者n次以上 [aesdfs]//匹配任意一个字符 [.?!]//匹配标点符号 c[aou]t//匹配cat,cot,cut三个单词,而不匹配caout 下面是一个纠正我错误理解的例子: $reg = "/[aby\}]/"; }是个元字符,所以使用\}表示},但实际上这个转义却是多余的,因为}在字符组中,无法发挥意义,不会引起歧义,所以不需要转义。那么字符串中有\会不会被当作普通字符呢?实际没有没有被匹配。如果需要匹配需要这样写: $reg = "[}aby\\]"; 下面的例子: c[aou?*)]t // 其中?和*号都不需要转义。原因字符组里匹配单个字符。 电话号码多种格式匹配: \(?0\d{2}[)-]?\d{8} 可以匹配到:(099)88888888 088-99999999 09999999999 [^a] 匹配非a的任意字符 \S 不包含空白符的字符串 匹配链接地址: <a[^>]+> <a href="http://www.beijingqingnian.com">北京青年</a> 结果:<a href="http://www.beijingqingnian.com"> 分支概念: 例如:要匹配 cat,hat,fat,toat的正则表达式 分析前面匹配可以是c,h,f,to,然而[]只能匹配单个字符,此时就可以用分支形式: (c|h|f|to)at 其中括号中的表达式视作一个整体,"|"表示分支,对于单字符情况,字符组效率更高。 电话号码: \(0\d{2}\)[- ]? \d{8}|0\d{2}[- ]? \d{8} 注意:匹配分支条件时,从左向右匹配,如果满足某个条件就不会考虑其他条件了。 例如:\d{5}|\d{5}-\d{4} 只匹配5位邮编以及9位邮编的前5位 分组应用 匹配IP:(\d{1,3}\.){3}\d{1,3} 严格来讲这个表达式是有问题的,因为每个数字不能大于255 ((2[0-4]\d|25{\[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2015-08-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 php 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档