gpt4 book ai didi

正则表达式问题 : Match sequence only n times on a random place

转载 作者:行者123 更新时间:2023-12-04 08:48:06 26 4
gpt4 key购买 nike

我有一个正则表达式问题,例如:

  • ...AAABZBZBCCCDDD...
  • ...BZBZBDDDBZBZBCCC...

  • 我正在寻找与 BZBZB 匹配 n 次的正则表达式。在一行中。所以,如果我只想匹配序列一次,我应该只得到第一行作为输出。
    该字符串出现在文本中的随机位置。并且正则表达式应该与 grep 或 egrep 兼容...
    提前致谢。

    最佳答案

    grep '\(.*BZBZB\)\{5\}'将执行 5 次,但这将匹配出现 5 次或更多次的任何内容,因为 grep 检查一行的任何子字符串是否匹配。因为 grep 无法在其正则表达式(仅字符)中对字符串进行负匹配,所以这不能用单个命令完成,除非,例如,您知道要匹配的字符串中使用的字符不是在别处使用。

    但是,您可以在两个 grep 命令中执行此操作:
    cat temp.txt | grep '\(.*BZBZB\)\{5\}' | grep -v '\(.*BZBZB\)\{6\}'
    将返回 BZBZB 恰好出现 5 次的行。 (基本上,它进行了 5 次或更多次的正面检查,然后进行了 6 次或更多次的负面检查。)

    关于正则表达式问题 : Match sequence only n times on a random place,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4630604/

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