regex - 打印第一个匹配的捕获组并退出
问题描述
我正在尝试将第一个匹配项的第一个捕获组从管道输入获取到 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)/'
不工作。我怎样才能获得第一场比赛?
解决方案
替换&&
为and
print "$1" and exit if m/([a-z]o)/
推荐阅读
- angular - 发生错误 InvalidPipeArgument Angular 6
- react-native - RN Webview 未从项目级文件夹加载图像
- python - Flask SQLAlchemy:属性错误:“函数”对象没有属性“翻译”
- r - 如何在 R 中解析具有堆叠多个 JSON 的文件?
- python - 使用 python 和 boto3 for aws 来描述-spot-fleet-instances?
- java - 循环启动和关闭线程好吗?
- python - 有没有办法通过比较与其他行的距离来拟合行中的缺失值?
- laravel - Laravel 自定义多个同名字段的验证消息
- c++ - 需要静态模板方法的模板模板概念不满足约束
- java - 避免在 Android 应用程序上使用循环重复