0
egrepやgrepで正規表現として*を使用しているときに、何も意味がないことを説明できますか?正規表現でゼロが発生する(UNIX)
私のような表現があるとします。「*」を
はそれは私がまたはAAAAA .....またはボブで始まるか、で開始する必要がないパターンを持っていることを意味していますか?
egrepやgrepで正規表現として*を使用しているときに、何も意味がないことを説明できますか?正規表現でゼロが発生する(UNIX)
私のような表現があるとします。「*」を
はそれは私がまたはAAAAA .....またはボブで始まるか、で開始する必要がないパターンを持っていることを意味していますか?
あなたはクリーネスターが0回以上の繰り返しに一致するためa*
は、意志^ba*o
と^boa*
として、bob
一致し、正しいです。
bazaar
とします。これにはza*
、zaa*
、またはzaaa*r
を使用することができます。 1つ以上の出現を主張するには、za+r
を使用します。複数の場合はzaa+r
を使用してください。正確に2回発生するようにするには、za{2}r
を使用します。
'a *'は、 'a *'がゼロ文字、つまり空の文字列にマッチし、すべての文字列が空の文字列で始まるため、何でもマッチすることを意味します。 – Psidom
* $をお持ちの場合はどうなりますか?それは少なくとも1 "a"で終わらなければならないということですか? – Lucifellow
すべての文字列が空の文字列で終わっているので、それはまだ何にもマッチしません。一般に、長さゼロのパターンにマッチする正規表現は作成しないでください。それは意味があるために少なくとも 'a + $'でなければなりません。 – Psidom