0

我想在 cygwin 中使用 grep 搜索文本文件中的电话号码。数字是0570-2770521,我使用正则表达式 "[0-9]{4}-[0-9]{7}" 和总命令 as grep "[0-9]{4}-[0-9]{7}" ./list.txt,但它不起作用。然后我改为grep "[0-9]\{4\}-[0-9]\{7\}" ./list.txt,它的工作原理!

但是既然 {} 是元字符,如果转义它们,它们将只是文字字符,那么它们如何表示 [0-9] 的匹配时间呢?

是不是我理解有误?希望有人能帮忙解释一下困惑,在此先感谢!

此致!

4

1 回答 1

1

man re_format

过时的(“基本”)正则表达式在几个方面有所不同。[...] 边界的分隔符是\{and \}{以及}本身是普通字符。

使用egrep(或等效地grep -E)用于增强的正则表达式,您可能更熟悉它。

于 2015-07-09T02:27:06.483 回答