找回密码
 注册
查看: 2013|回复: 0

perl语言正则表达式中的选择符

[复制链接]
发表于 2011-11-14 20:33:12 | 显示全部楼层 |阅读模式
竖线(|),在这种用法中通常被读作“或(or)”,意思是匹配左边的或者右边的。如果竖线左边没有匹配上,则匹配右边。因
此,/fred|barney|betty/将匹配出现过fred,或者barney,或者betty 的字符串。
现在你可以书写像/fred( |\t)+barney/这样的模式,它将匹配fred,barney 以及中间由空格,制表符(tab),或者二者混合所组
成的字符串。加(+)是指重复1 次或多次;每重复一次,( |\t)则有可能匹配一个空格,或者一个制表符◆。但fred 和barney
之间这些字符中(空格,制表符)的其中之一必须出现一次。
◆如果使用字符类(character class)进行这种匹配将更有效,这在本章后面会介绍。
如果希望fred 和barney 之间的字符是一样的,可以将模式写成/fred( +|\t+)barney/。在本例中,分隔符必须全是空格或者全
是制表符。
模式/fred (and|or) barney/能匹配如下两种字符串:fred and barney, fred or barney◆。也可以将模式写成: /fred and barney|fred
or barney/,但这样书写的字符更多。并且其效率也更低,这依赖于正则表达式引擎中所使用的优化方法。
◆单词and 和or 在正则表达式中不是操作符!它们在正则表达式中就是其本来的含义:单词and,or。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|小黑屋|生物统计家园 网站价格

GMT+8, 2024-11-21 22:59 , Processed in 0.026960 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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