1

我想显示我的单词列表中所有以 a 开头w且长度为 9 个字母的单词。昨天我学到了更多关于如何使用的知识,zgrep所以我来了:

zgrep '\(^w\)\(^.........$\)' a.gz

但这不起作用,我认为这是因为我不知道如何AND在这两个条件之间做一个。我发现它应该是(?=expr)(?=expr),但我不知道如何构建我的命令

那么如何使用 构建我的命令(?=expr)

例如,如果我有一个这样的单词表:

  • 华盛顿
  • 香肠
  • Walalalalalaaaa --> 不应该匹配
  • Wwwwwwwww --> 应该匹配
4

1 回答 1

1

您可以使用

zgrep '^w[[:alpha:]]\{8\}$' a.gz

POSIX BRE 模式将匹配一个字符串

  • ^w- 以。。开始w
  • [[:alpha:]]\{8\}- 然后有八个字母
  • $- 紧随其后的是字符串标记的结尾。

另请参阅9.3 基本正则表达式

于 2019-10-17T07:32:03.517 回答