正则表达式:匹配以4-9开头的数字?

时间:2015-03-03 19:41:18

标签: regex bash grep

下面是我带输出的当前命令。问题是以2开头的行。我如何合并只匹配以4-9开头的行?

grep -o -P '(?:(?<!\d)\d{8}(?!\d))' * | sort -u
20100101
71160868
71161452

grep源是一封电子邮件,因此在这里发帖非常麻烦。

1 个答案:

答案 0 :(得分:4)

您可以使用:

grep -oP '(?:(?<!\d)[4-9]\d{7}(?!\d))' * | sort -u

[4-9]仅在第一个数字介于4和9之间,后跟任意7个数字时匹配。