perl正则表达式(2)

本文详细介绍了Perl正则表达式的量词,如*、+、?、{n}等,以及合法断言,如^、$、A、等。还探讨了正向和负向预测断言、回忆断言以及正则表达式扩展功能,如向后引用和使用条件表达式。此外,通过实例展示了如何在Perl中应用这些概念进行文本处理和匹配。
摘要由CSDN通过智能技术生成
perl中的量词:
 *-----------------匹配0或多次
 +-----------------匹配1或多次
 ?-----------------匹配0或1次
 {n}-----------------匹配n次
 {n,}-----------------匹配至少n次
 {n,m}-----------------匹配至少n次,至多匹配m次
perl中的合法断言:
 ^-----------------匹配行首
 +-----------------匹配行尾(或者末尾前的新行)
 \A-----------------仅匹配字符串开头
 \B-----------------匹配非单词边界
 \b-----------------匹配单词边界
 \G-----------------仅匹配前一个m//g剩余的内容(仅仅能和/g一起使用)
 \Z-----------------仅仅匹配字符串的末尾,或者末尾前的新行
 \z-----------------仅仅匹配字符串的末尾
 (?=EXPR)-----------如果EXPR可以匹配下一个,则进行匹配
 (?!EXPR)-----------如果EXPR不能匹配下一个,则进行匹配
 (?<=EXPR)----------如果EXPR可以匹配前一个,则进行匹配
 (?<!EXPR)----------如果EXPR不能匹配前一个,则进行匹配
确保用户输入的所有行至少具有20个字符:
 print "\n--------------------------(.{20,}) USED-----------------------------\n";
 print "Enter:";
 while(<>){
 if(!m/.{20,}/){
 print "Please type longer line!";
 }
 }
 print "\n--------------------------END (.{20,}) USED--------------------------\n";
默认情况下,量词非常贪婪的,这意味着通过创建从当前查找位置开始的合法匹配,它门将返回找到最长的匹配值。
创建正则表达式:引用前一次匹配的向后引用
在相同的表达式中引用前面的匹配:通过反斜线以及数字\1,\2,\3等,来引用相同模式中以前的匹配值。表达式\1代表第一次匹配,\2代表第二次匹配,依次类推。
例如,处理html,并需要确保正在匹配从开始到相应的结束表姐之间的文本,如<A>到<\A>:
 print "\n--------------------------('\1') USED-----------------------------\n";
 $text="<A>Here is an anchor.<\A>";
 if($text=~/<(IMG|A)>[\w\s\.]+<\/\1>/i){
 print "Found an image or anchor tag.";
 }
 print "\n--------------------------END ('\1') USED--------------------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WEL测试

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值