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

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

发布时间:2020-12-14 06:35:25 所属栏目:百科 来源:网络整理
导读:我有一个正则表达式匹配一些文本: $text =~ m/$regex/gcxs 现在我想知道’gc’修饰符是什么意思: 我搜索并发现gc意味着“允许继续搜索失败/ g匹配后”。 对我来说这不清楚继续搜索意味着什么? 据我所知,这意味着如果/ g搜索失败,则开始匹配。但是/ g修
我有一个正则表达式匹配一些文本:
$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

(编辑:李大同)

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

    推荐文章
      热点阅读