`
dr2tr
  • 浏览: 138708 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

perl学习摘记4

阅读更多

模式匹配由反斜线包含:/def/即模式def

 =~检验匹配是否成功:$result = $var =~ /abc/;若在该字符串中找到了该模式,则返回非零值,即true,不匹配则返回0,即false。!~则相反

模式中的特殊字符 
 字符 +
   +意味着一个或多个相同的字符,如:/de+f/指def、deef、deeeeef等。它尽量匹配尽可能多的相同字符
 字符 [ ]和[^]
   [ ]意味着匹配一组字符中的一个,如/a[0123456789]c/将匹配a加数字加c的字符串。与+联合使用例:/d[eE]+f/匹配def、dEf、deef、dEdf、dEEEeeeEef等。^表示除其之外的所有字符,如:/d[^eE]f/匹配d加非e字符加f的字符串。(在[^eE]中,我发现很多资料上都写成了[^deE],奇怪的是,很多网页都只是引用了这种错误的写法,比较遗憾)
字符 *和?
   它们与+类似,区别在于*匹配0个、1个或多个相同字符,?匹配0个或1个该字符。如/de*f/匹配df、def、deeeef等;/de?f/匹配df或def。
转义字符
   如果你想在模式中包含通常被看作特殊意义的字符,须在其前加斜线"\"。如:/\*+/中\*即表示字符*,而不是上面提到的一个或多个字符的含义。
锚模式

 

描述
^\A 仅匹配串首
$\Z 仅匹配串尾
\b 匹配单词边界
\B 单词内部匹配

   例:/^def/只匹配以def打头的字符串,/$def/只匹配以def结尾的字符串,结合起来的/^def$/只匹配字符串def(?)。\A和\Z在多行匹配时与^和$不同。
 匹配任意字符
   字符"."匹配除换行外的所有字符,通常与*合用。
匹配指定数目的字符
   字符对{}指定所匹配字符的出现次数。如:/de{1,3}f/匹配def,deef和deeef;/de{3}f/匹配deeef;/de{3,}f/匹配不少于3个e在d和f之间;/de{0,3}f/匹配不多于3个e在d和f之间。。
指定选项
   字符"|"指定两个或多个选择来匹配模式。如:/def|ghi/匹配def或ghi。


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics