-1
[\w+\.]{3}

\w+\.\w+\.\w+\.

前者は「dra」に一致します

以降は「dragon.is.awesome」に一致

私が彼らについて正しく理解していないのは何ですか?

入力テキストは次のようになります

私はドラゴンが素晴らしいことを知っていますが、

私はドラゴンを知っています.awesome.because, 彼は素晴らしいです

私はドラゴンを知っています.sucks.because, 彼は素晴らしいではありません

Dragon.is.dead 誰かが彼を殺したのは知ってる

したがって、パターン \w+ のグループ化の任意の組み合わせに一致する必要があります。

4

3 に答える 3

3

最初のものは文字クラスだからです。

[\w+/\.]

\wone 、または one+または one/またはoneliteral のいずれかに一致します.。後者を短くしたい場合は、通常の括弧を使用してください。

(\w+\.){3}

文字クラス内では、ほとんどのメタ文字が意味を失うことに注意してください。したがって+、and.および*(たとえば) は、エスケープせずにすべて含まれて一致する可能性があります。

于 2012-10-17T21:00:13.723 に答える
1

[...]文字クラスです。1 文字に一致します。[\w+\.]「単語」文字 (文字、数字、またはアンダースコア)、プラス、またはドットのいずれかである 1 文字に一致します。[\w+\.]{3}このような文字が 3 つ続けて一致します。

于 2012-10-17T21:00:35.177 に答える
1

[]サブパターンではなく、文字クラスです。[abc]単一の a、b、または c に一致します。

あなたはおそらく、2番目の正規表現と同じに一致することを意味(\w+\.){3}していました。

于 2012-10-17T21:01:45.453 に答える