正则表达式 – Perl正则表达式 – gc修饰符是什么意思?

前端之家收集整理的这篇文章主要介绍了正则表达式 – Perl正则表达式 – gc修饰符是什么意思?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个正则表达式匹配一些文本:
$text =~ m/$regex/gcxs

现在我想知道’gc’修饰符是什么意思:

搜索并发现gc意味着“允许继续搜索失败/ g匹配后”。

对我来说这不清楚继续搜索意味着什么?

据我所知,这意味着如果/ g搜索失败,则开始匹配。但是/ g修饰符是否匹配整个字符串?

/ g修饰符用于记住“字符串中的位置”,以便您可以逐步处理字符串。例如
my $txt = "abc3de";
while( $txt =~ /\G[a-z]/g )
{
    print "$&";
}
while( $txt =~ /\G./g )
{
    print "$&";
}

因为位置在失败的匹配上重置,所以将输出

abcabc3de

/ c标志不会重置失败的匹配位置。所以如果我们添加/ c到第一个正则表达式这样

my $txt = "abc3de";
while( $txt =~ /\G[a-z]/gc )
{
    print "$&";
}
while( $txt =~ /\G./g )
{
    print "$&";
}

我们结束了

abc3de

示例代码http://ideone.com/cC9wb

原文链接:https://www.f2er.com/regex/357492.html

猜你在找的正则表达式相关文章