加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式 – 使用|时,两个备选方案是否匹配在Perl正则表达式?

发布时间:2020-12-14 05:46:24 所属栏目:百科 来源:网络整理
导读:我对下面的正则表达式感到困惑.请帮我理解一下. my $test = "fred andor berry";if ($test =~ /fred (and|or) berry/) { print "Matched!n";} else { print "Did not match!n";} 我认为它会匹配,但我得到“不匹配
我对下面的正则表达式感到困惑.请帮我理解一下.

my $test = "fred andor berry";
if ($test =~ /fred (and|or) berry/) {
    print "Matched!n";
} else {
      print "Did not match!n";
}

我认为它会匹配,但我得到“不匹配!”.如果我加入它,像这样,

my $test = "fred andor berry";
if ($test =~ /fred (and|or)+ berry/) {
   print "Matched!n";
} else {
   print "Did not match!n";
}

然后匹配.我以为我可以使用和/或将表达式与“and”,“or”和“andor”匹配.没有?

解决方法

表达式(和|或)将匹配和或或,但不是和或.当你添加它时,它将接受相同模式的两个(实际上是一个或多个)连续匹配,这允许它匹配oror. (首先它匹配,然后或.)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读