神奇的Perl-正则表达式(9)
程序员文章站
2022-04-29 13:51:31
...
本神奇的Perl系列为刘兴(http://deepfuture.iteye.com/)原创,未经笔者授权,任何人和机构不能转载
同一正则表达式中,反斜杠加上一个整数来表示反引用,用反引用保存正则模式中括号内匹配部分,\1表示匹配到的第一部分,\2表示匹配到的第2部分,从左至右按照每对括号匹配到的字串匹配,以此类推。
例如,取出被一对相同字符串包围的字符串:
my $txt="xab12abz";#"ab"包围了12
if ($txt=~m/(.+)(.+)(\1)/){
print $2;#输出"12"
}
不在同一个正则表达式,可使用 $ 后边跟一个整数,前面曾经介绍过,在此加深一下理解,我们以字符串中and前后的单词对调为例。
my $txt="hello! deep and future";#把and前后的单词对调(不包括空格)
$txt=~s/(\S*)\s(\S*)\s(and)\s(\S*)/$1 $4 $3 $2/;
#$1匹配hello!,$2匹配deep,$3匹配and,$4匹配future
print $txt;#输出hello! future and deep
上一篇: 神奇的Perl-第六个任务(3)
下一篇: 宝宝早餐食谱大全及做法,这是妈妈们的春天
推荐阅读
-
JS正则表达式从入门到入土(9)—— test方法以及它的那些坑
-
盘点9种水果的神奇养颜术 用牛油果代替眼霜
-
js正则表达式之$1$2$3$4$5$6$7$8$9属性,返回子匹配的结果
-
LeetCode【9-- 回文数】LeetCode【10 --正则表达式的匹配】
-
Intel 7的怒吼!酷睿i9-12900K/i5-12600K首发评测:ROG MAXIMUS Z690 HERO神奇加成
-
JS正则表达式从入门到入土(9)—— test方法以及它的那些坑
-
ES9的新特性之正则表达式RegExp详解
-
js正则表达式之$1$2$3$4$5$6$7$8$9属性,返回子匹配的结果
-
神奇的Perl-最佳Perl入门读物
-
神奇的Perl-正则表达式(3)