我有一个正则表达式匹配一些文本:
$text =~ m/$regex/gcxs
现在我想知道’gc’修饰符是什么意思:
对我来说这不清楚继续搜索意味着什么?
据我所知,这意味着如果/ g搜索失败,则开始匹配。但是/ g修饰符是否匹配整个字符串?
/ g修饰符用于记住“字符串中的位置”,以便您可以逐步处理字符串。例如
原文链接:https://www.f2er.com/regex/357492.htmlmy $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