gpt4 book ai didi

regex - egrep 找到至少有两次相同单词的行

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

如何使用正则表达式找到至少包含两次相同单词的行?

我试过:

egrep '\w{2,}\1' file  

但是终端给我错误:

egrep: invalid backreference number

最佳答案

您当前的正则表达式存在几个问题。

  1. 使用 capturing group用于捕获单词和 backreference
  2. 添加\b word boundaries用于将单词限制在左侧和右侧。
  3. 添加.*以匹配any amountany characters介于两者之间。
echo "ABC foo ABC bar" | egrep '\b(\w{2,})\b.*\b\1\b'

ABC foo ABC bar

echo "ABC foo ABCD bar" | egrep '\b(\w{2,})\b.*\b\1\b'

false

See demo at regex101 .如果需要,使用 egrep -o --only-matching 来提取相关部分。
您可以进一步使用 .*? lazygrep -P --perl-regexp 尽可能少。

关于regex - egrep 找到至少有两次相同单词的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35373454/

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