從man grep
:
Repetition
A regular expression may be followed by one of several repetition
operators:
? The preceding item is optional and matched at most once.
* The preceding item will be matched zero or more times.
+ The preceding item will be matched one or more times.
{n} The preceding item is matched exactly n times.
{n,} The preceding item is matched n or more times.
{n,m} The preceding item is matched at least n times, but not more
than m times.
即例如grep 'a\{2,3\}' new
匹配也與aaaa
因爲前三(或2)a
線。其餘部分並不重要。
如果您希望確實只有2個或3個連續的a
匹配,您可以使用-o
標誌。但請注意,這將從aaaaa
的行中輸出aa
和aaa
。爲避免這種情況,您必須使用其他信息,如示例中的換行符^
和$
。
Btw。我會建議使用-E
標誌(或egrep
這是相同的),所以你有擴展的正則表達式支持。那麼你不必跳過括號。
對於輸入
aaaaa
aaaa
aaa
aa
a
的grep -o -E '^a{2,3}$'
通話會給輸出:
aaa
aa
非常感謝!傑出的答案! –
感謝您的額外信息。我其實正在搜索有關grep -E的信息!非常感謝! –
Yor're歡迎:) – EverythingRightPlace