blue1025的个人空间 https://blog.eetop.cn/mj8051 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

PERL 第7章 正则表达式

已有 880 次阅读| 2008-9-27 14:09 |个人分类:PERL

SOURCE HTML: http://socvista.com/bbs/redirect.php?fid=71&tid=916&goto=nextnewset

14:45
正则表达式,英文regular expression。用于寻找指定模式的字符串。

-- 一个简单的例子
$_ ="yabba dabba doo";
if (/abba/) {...;}

--meta. characters 转义符号
为了提高匹配的能力,引入了不少的meta. characters。这里则要介绍两个。
.(句号)用于匹配换行符意外的任意单个字符。
\(反斜杠)用于转义。比如\t用于指代一个tab符号。
()(括号)也是转义符号,用于grouping。

-- quantifier 数量符号
*:表示前面的符号出现0或多次;
.*:表示任意符号出现任意次,这个符号叫做 any old junk,因为它代表了任意长度的任意字符组合。
+:表示前面的符号出现1或多次;
?:表示前面的符号出现0或1次,也就是有或者没有。

-- grouping符号()
/fred+/ 可以匹配 fredddddddddd 这样的字符串
/(fred)+/ 则匹配 fredfredfredfred 这样的字符串。

-- 选择符号 |
该符号匹配两种情况之一,条件很宽松。
/fred( |\t)+barney/  # 中间的内容匹配若干个空格和tab的mixture字符串
/fred( +|\t+)barney/  # 中间的内容匹配若干个空格或者若干个tab字符串

-- 字符分类符号 [ ]
利用[ ] 可以指定一种字符类型,并匹配该类型中的单个字符single character。
比如
[abcxyz] 匹配6个字符
[a-zA-Z] 匹配52个字符
[\000-\177] 匹配 178个ASCII字符

-- 字符分类取反符号 [^ ]
比如
[^def] 匹配def之外所有的单个符号。
[^n\-z] 匹配 n、hyphen、z之外的所有单个字符。

-- 字符分类符号之缩略符(shortcut)
\d = [0-9] # 所有单个数字
\D = [^\d]
\w = [a-zA-Z0-9]  # 所有单个字符
\W = [^\w]
\s = [\f\t\n\r ]  # 所有空白类型符号
\S = [^\s]
[\d\D] = anything # 和.符号类似,但是它包含了回车符号而.符号则不包含
[^\d\D] = nothing

点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 13

    粉丝
  • 16

    好友
  • 15

    获赞
  • 23

    评论
  • 2824

    访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-28 14:35 , Processed in 0.023739 second(s), 14 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部