regex - 匹配单词开头的任何子串

标签 regex perl

例如,对于 previous 之类的行,我希望模式与 pprpreprev 等行匹配,一直到 previous 。我不希望它匹配 prevalentprevise 之类的行。
除了明显的( ^(p|pr|pre|prev|...|previous)$ )之外,是否还有其他模式可以实现这一点?

注意:我不需要像上面的模式那样捕获它,并且
我正在使用 Perl 的正则表达式风格(在 Perl 中)。

最佳答案

我不认为正则表达式是最好的(或最易读的)方式来做到这一点:

$str = "previous";
$input = "prev";
$length = length($input);

$strcheck = substr($str, 0, $length);
$incheck = substr($input, 0, $length);

if ($strcheck =~ $incheck && $length != 0) {
    // do something with $input
}

关于regex - 匹配单词开头的任何子串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6747309/

相关文章:

javascript - 用于匹配除第一次出现以外的字符的正则表达式

string - 获取perl字符串计算结果

perl - 循环内 fork 防止迭代器使用 Parallel::Prefork 递增

perl - $dummy 和 non-parameter split 在 Perl 中是什么意思?

perl - 在哪里存储全局数据库连接参数

javascript - 用于匹配字符串维度的正则表达式模式

javascript - 如何调整谷歌地图的宽度和高度

java - 正则表达式不匹配通配符

使用验证 V2 Golang 包的正则表达式电话号码不起作用

linux - 在 perl 中过滤具有给定输入范围的文件