user1642683 Asked: 2021-12-14 10:11:06 +0800 CST2021-12-14 10:11:06 +0800 CST 2021-12-14 10:11:06 +0800 CST Perl RE 全局匹配不起作用 /.*(11).*/g 772 我有一个包含这一行的文件: 111112111122113 我想匹配所有出现的 1 的所有两个元素序列。 但是,当我尝试这个时, 尽管我的 RE 末尾$ perl -lne 'print $1 if /.*(11).*/g' u 存在 ,但我只得到一个结果:g 11 我如何将它们全部打印出来,我的 RExp 有什么问题? regex perl 1 个回答 Voted Best Answer Toto 2021-12-14T10:40:37+08:002021-12-14T10:40:37+08:00 使用非贪心量词: perl -lne 'print $1 if /.*?(11)/g' # here ___^ 演示和解释 但我认为你最好使用循环: print $1 while ($inputline =~ /.*?(11)/g)
使用非贪心量词:
演示和解释
但我认为你最好使用循环: