首页 > 编程知识 正文

perl正则表达式匹配特定(python正则表达式)

时间:2023-05-05 22:26:04 阅读:71694 作者:2575

Perl——正则表达式的贪婪模式和非贪婪模式在使用perl进行正则表达式匹配时,经常使用贪婪匹配和非贪婪匹配两种匹配模式。

贪婪匹配(greedy match )匹配尽可能长的内容。 默认匹配是贪婪的匹配。

不贪婪匹配:尽可能少地匹配,也称为懒惰匹配lazy match。 *, 是否要添加到表示匹配次数的后面? 指示在非贪婪模式下匹配。

my $str='abc123abc1234 '; #字符串定义#greedymatchif(str=~~/a(w*3/) ) print'$(n '; }#lazymatchif(str=~~/a(w*? 3/) { # *号之后的? 不贪婪匹配/懒惰匹配print '$n '; #指向最后一个正则表达式匹配的数据。 (}w匹配包含下划线的单词字符

上面的代码可以用$1代替。

if(str=~~/(a(w*? 3 )/) print($1(n ); #1世代是指在上()内匹配的内容。 }匹配贪婪输出的结果是abc123abc1234。

不贪婪的匹配输出的结果是abc123。

贪婪的匹配有回溯的过程,限定匹配最长的内容,如果不满足下一个匹配条件,就会不断向前寻找。

不贪婪的匹配是从前到后,不断寻找符合条件的数据。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。