0

私はこのような文字列を持っています:

犬犬狂犬

また、次の正規表現があります。

[dog]*

これは、dog dog ddog に一致します。余分な d を取り除き、できれば 3xdog ではなく 1xdog dog dog としてヒットし続けたいと思います。

私は何かを見逃していますか、それともこれは少しトリッキーに見えますか?

編集:もう少し説明すると、これが難しいだけなのか、何かが足りないのかわかりません。(dog)* は 2 つのヒットを生成します: ドッグ ドッグ、2 番目のヒットはドッグ (最後の文字列から)。ヒットドッグドッグドッグを一匹だけお願いします。たとえば、regexpal は、正規表現によってヒットしたものを強調表示します。

edit2:基本的に、 [dog]* を使用する必要があるかどうかを尋ねています (注意する必要があります)、余分な d をどのように取り除くのですか?

4

1 に答える 1

1

角括弧を使用して、文字クラスを作成しています。つまり[dog]、括弧内の任意の文字に一致します。は*、それらの文字の 1 つに 0 回以上一致させます。そのため、「ddog」と一致します。また、「good」または「ggddo」にも一致します。

于 2012-05-04T21:59:43.697 に答える