设为首页 收藏本站
查看: 1582|回复: 0

[经验分享] 神奇的perl-正则表达式(1)

[复制链接]

尚未签到

发表于 2017-5-18 13:01:40 | 显示全部楼层 |阅读模式
  声明:本神奇的Perl系列为刘兴(http://deepfuture.iteye.com/)原创,未经笔者授权,任何人和机构不能转载
  第五章 正则表达式
  1. PERL正则基础
正则表达式是一种序列或字符模式,负责在搜索和替换文本时对文本内容进行字符串匹配。Perl中的正则表达式由待匹配字符串或模式串或2者混合而成,一般以斜杠(/)作为定界符。
 Perl正则模式串主要有以下几种:
. 匹配单个除换行符以外的字符
a? 匹配 0 次或一次 a 字符(a为任意字符,如:a*、b*、2*等)
a* 匹配 0 次或多次 a 字符(a为任意字符,如:a*、b*、2*等)
a+ 匹配 1 次或多次 a 字符(a为任意字符,如:a+、b+、2+等)
.* 匹配 0 次或一次的任何字符
.+ 匹配 1 次或多次的任何字符
{m} 匹配刚好是 m 个 的指定字符
{m,n} 匹配在 m个 以上 n个 以下 的指定字符
{m,} 匹配 m个 以上 的指定字符
[] 匹配符合 [] 内的字符
[^] 匹配不符合 [] 内的字符
(x|y) 匹配x或y
(x) 匹配x模式串
[0-9] 匹配单个数字
[a-z] 匹配单个小写字母
[^0-9] 匹配单个非数字字符
[^a-z] 匹配单个非小写字母字符
^ 匹配字符开头的字符
$ 匹配字符结尾的字符
\d 匹配单个数字的字符,和 [0-9] 语法一样
\d+ 匹配多个数字字符,和 [0-9]+ 语法一样
\D 单个非数字字符
\D+ 匹配多个非数字字符
\w 单个英文字母或数字的字符,
\W 单个非英文字母或数字的字符
\W+ 匹配多个非英文字母或数字字符
\s 空格等同于 [ \n\t\r\f]
\s+ 等同于  [ \n\t\r\f]+ 
\S  单个非空格字符
\S+ 多个非空格字符
 
我们来看几个例子:
/abc/ 匹配所有包括abc的字符串,比如,匹配“123abcxxx”、“abcde”。
  /ab(c|d)/ 匹配所有包括abc或abd的字符串,比如,匹配“123abcxxx”、“abde88”
/abc\d+/ 匹配所有包括abc后接至少一个数字的字符串,比如,匹配“xxabc456”、 “abc678de”。
/^abc\d+/ 匹配所有以abc后接至少一个数字开头的字符串,比如,匹配“abc456”、 “abc678de”,不匹配“xxabc456”、 “xxbc456”。
/^abc\d+$/ 匹配所有以abc开头,至少一个数字结尾,且abc后接至少一个数字的字符串,换句话说,仅匹配符合abc后接至少一个数字,不包括任何其它字符。比如,匹配“abc456”、 “abc1”,不匹配“abc456x”、 “bc456”、“abc”。
/[^0-9]abc\d+/ 匹配所有包括非数字字符后接abc及至少一个数字的字符串,比如,匹配“xyabc456”、 “aabc1”,不匹配“456abc98”、 “bdc456”、“0abc1”。
/^[^0-9]abc\d+/ 匹配所有以非数字字符后接abc及至少一个数字的形式开头的字符串,比如,匹配“aabc456”、 “xabc1you”,不匹配“8abc98ww”、 “bd456”、“0abc1”。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-378823-1-1.html 上篇帖子: perl 写入excel文件时字符集 下篇帖子: 神奇的Perl-哈希与数组(8)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表