Perl模式匹配中的特殊字符用法指南

本文和大家重点讨论一下Perl模式匹配中的特殊字符的用法,比如说“+”,+用于使前面的字符与后面的字符至少匹配一次,也可以任意次地进行匹配。

创新互联公司-专业网站定制、快速模板网站建设、高性价比铁东网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式铁东网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖铁东地区。费用合理售后完善,10余年实体公司更值得信赖。

Perl模式匹配中的特殊字符

1.1"+"

+用于使前面的字符与后面的字符至少匹配一次,也可以任意次地进行匹配。类似于windows中*例如/d+g/能匹配的dog,dogg,dooooog/ab+/在字符串abbc中匹配的将是abb,而不是ab。

1.2[]和[^]

[]意味着匹配一组字符中的一个
^表示除其之外的所有字符
例如/w[abcd]s/能匹配的was,wbs,wcs,wds
/w[^ab]s/不能匹配的was,wbs
也可以写成如下形式
/w[a-z0-9A-Z]s/

1.3字符*和?

它们与+类似,区别在于*匹配0个、1个或多个相同字符,?匹配0个或1个该字符。
例如/de*f/匹配df、def、deeeef等;/de?f/匹配df或def。

1.4位置通配符(锚模式)

^或\A仅匹配串首
$或\Z仅匹配串尾
\b匹配单词边界
\B单词内部匹配
例如:/^def/只匹配以def打头的字符串,/$def/只匹配以def结尾的字符串,结合起来的/^def$/只匹配字符串def(?)。\A和\Z在多行匹配时与^和$不同。

\b在单词边界匹配:/\bdef/匹配def和defghi等以def打头的单词,但不匹配abcdef。/def\b/匹配def和abcdef等以def结尾的单词,但不匹配defghi,/\bdef\b/只匹配字符串def。注意:/\bdef/可匹配$defghi,因为$并不被看作是单词的部分。

\B在单词内部匹配:/\Bdef/匹配abcdef等,但不匹配def;/def\B/匹配defghi等;/\Bdef\B/匹配cdefg、abcdefghi等,但不匹配def,defghi,abcdef。

1.5Perl模式匹配中字符转义类

\d任意数字[0-9]
\D除数字外的任意字符[^0-9]
\w任意单词字符[_0-9a-zA-Z]
\W任意非单词字符[^_0-9a-zA-Z]
\s空白[\r\t\n\f]
\S非空白[^\r\t\n\f]

1.6"."

字符"."匹配除换行外的所有字符,通常与*合用。

1.7Perl模式匹配中匹配指定数目的字符

字符对{}指定所匹配字符的出现次数。
如:/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之间。

1.8指定选项

字符"|"指定两个或多个选择来匹配模式。如:/def|ghi/匹配def或ghi。
这些转义符有一定的操作顺序:
()模式内存
+*?{}出现次数
^$\b\B锚
|选项

1.9Perl模式匹配中模式次序变量

在Perl模式匹配后调用重用部分的结果可用变量$n,全部的结果用变量$&。
$string="Thisstringcontainsthenumber25.11.";
$string=~/-?(\d+)\.?(\d+)/;#匹配结果为25.11
$integerpart=$1;#now$integerpart=25
$decimalpart=$2;#now$decimalpart=11
$totalpart=$&;#nowtotalpart=25.11

【编辑推荐】

  1. 解析Perl模式匹配中有哪些选项
  2. Perl学习笔记---Perl模式匹配
  3. Perl引用中直接引用用法解析
  4. Perl模式匹配选项详解
  5. 技术分享 解析Perl模块创建和导入方法

网页标题:Perl模式匹配中的特殊字符用法指南
URL标题:http://www.shufengxianlan.com/qtweb/news33/518533.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联