2

Javaで正規表現を記述して、一連の単語文字とスペースに一致する一連の文字と、それに続く一連の単語文字とスペースの「サブクラス」の文字を一致させたいと思います。

一致する文字列の例:

a subclass of b

a and b subclass of c

a and b subclass of c and d

次の文字列は一致しません。

subclass of

a subclass of

subclass of b

a subclass of b subclass of c

次の正規表現を試しました:

    [a-zA-Z0-9 ]+subclass of[a-zA-Z0-9 ]+

(?:(?!subclass of).)+subclass of(?:(?!subclass of).)+

しかし、どちらも私が必要とするものには達していません。

4

2 に答える 2

1

次の正規表現を使用できます。

^\\w+(?:\\s+and\\s+\\w+)?\\s+subclass\\s+of\\s+\\w+(?:\\s+and\\s+\\w+)?$

ライブデモは次のとおりです。

于 2012-10-25T16:53:21.663 に答える
0

正規表現 @anubhava を少し変更します。

^\w+(?:\sand\s\w+)*\ssubclass\sof\s\w+(?:\sand\s\w+)*$

(および \w+) のグループが複数回一致できるようにします。

ライブデモ:こちら

于 2012-10-25T17:22:58.277 に答える