gpt4 book ai didi

regex - ack - 搜索多个模式(逻辑与)

转载 作者:行者123 更新时间:2023-12-01 09:51:52 27 4
gpt4 key购买 nike

如何使用 ack 搜索文件查找包含 的行所有 (也没有)定义的模式?

ANY (OR) 很简单,例如:

ack 'pattern1|pattern2|pattern3'

但是怎么写 和(全部) ?例如如何编写以下内容:
if( $line =~ /pattern1/ && $line =~ /pattern2/ && $line =~ /pattern3/ ) {
say $line
}

使用 ack ?

或者更准确地说,可以用 logical and 创建一个正则表达式?

最佳答案

 /foo/s && /bar/s && /baz/s

可以写成
 /^(?=.*?foo)(?=.*?bar)(?=.*?baz)/s

我们实际上不需要展望最后一个。
 /^(?=.*?foo)(?=.*?bar).*?baz/s

并且由于我们不关心模式的哪个实例被匹配,如果有多个,我们可以将其简化为
 /^(?=.*foo)(?=.*bar).*baz/s

关于regex - ack - 搜索多个模式(逻辑与),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36266965/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com