首页 > 解决方案 > 打印第一个匹配的捕获组并退出

问题描述

我正在尝试将第一个匹配项的第一个捕获组从管道输入获取到 perl。例如,这会打印所有匹配项:

$ printf "hello\nworld" | perl -nle 'print "$1" if m/([a-z]o)/'
lo
wo

然而,

$ printf "hello\nworld" | perl -nle 'print "$1" && exit if m/([a-z]o)/'

不工作。我怎样才能获得第一场比赛?

标签: regexperl

解决方案


替换&&and

print "$1" and exit if m/([a-z]o)/

推荐阅读