gpt4 book ai didi

regex - Perl:正则表达式的最大值?

转载 作者:行者123 更新时间:2023-12-02 00:39:04 24 4
gpt4 key购买 nike

这是我的代码......

#!/usr/bin/perl

$str = 'yaeeeeeeeeeeeeeeeeeeeeah';
$six = 6;
$eight = 8;

if( $str =~ /e{$six,$eight}?/)
{
print "matches";
}

由于某种原因,即使 e 的数量超过了最大 8,它仍然匹配。如果有超过 8 个 e,我怎样才能使正则表达式返回 false?

最佳答案

一般是/(?<!e)e{$six,$eight}(?!e)/

检查http://www.perlmonks.org/?node_id=518444

对于非常糟糕的情况,在同一个字符串中,6-8 个 e 存在于某处,但某处
否则,单独存在 20 个 e,发布的解决方案将无济于事。

示例:rrrrrrrreeeeeeerrrrrrrrrrreeeeeeeeeeeeeee

在这种情况下,您必须首先寻找糟糕的情况 e{9} ,
那么好案例e{6,8}

/^(?!.*e{$nine}).*(?<!e)e{$six,$eight}(?!e)/

关于regex - Perl:正则表达式的最大值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27475486/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com