2017-10-08 26 views
0

有人可以用egrep或grep使用時用*作爲正則表達式來解釋零出現的含義嗎?正則表達式中出現零(Unix)

假設我有這樣的表達:「A *」

這是否意味着我有一個或AAAAA .....或者鮑勃開始還是必須開始一個模式?

+1

如果你有'a *',這意味着它可以匹配任何東西,因爲'a *'可以匹配零個字符,即空字符串,所有字符串都以空字符串開頭。 – Psidom

+0

如果我有* $,該怎麼辦?這是否意味着它必須以至少1個「a」結束? – Lucifellow

+0

不,它仍然匹配任何東西,因爲所有的字符串也以空字符串結尾。通常你不應該構造一個匹配零長度模式的正則表達式。它至少應該是「+ $」,因爲它是有意義的。 – Psidom

回答

0

你是正確的,a*將匹配bob,如意志^ba*o^boa*,因爲克林星匹配零次或多個出現。

考慮單詞bazaar。您可以使用za*,zaa*zaaa*r來匹配它。要堅持發生一次或多次事件,您可以使用za+r。兩個或更多使用zaa+r。要堅持正確發生兩次,請使用za{2}r