1

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

of cabbages and kings and more kings

この基準に基づいて一致させたい:

- Any instance of "king"
- Any instances of "cab" OR "goat"
- No instances of "bill"

この正規表現は IsMatch() で機能します。

^(?=.*?(king))(?=.*?(cab|goat))(?=.*?(bill))

ただし、長さが 0 の 1 つのグループを返すだけです。一致したテキストを後で読めるように、一致するグループを返す方法はありますか?

4

1 に答える 1

1

パターンはルックアラウンドのみを使用するため、パターンをチェックするだけで、ルックアラウンド内のグループを除い て一致したパターンを含めることはありません..

完全な文字列をキャプチャする場合はMatch、指定されたパターンでメソッドを使用します

^(?=.*king)(?=.*(?:cab|goat))(?=.*bill).*$

この正規表現は、パターンに一致する場合、グループ 0の完全な文字列に一致します..

于 2013-03-08T17:23:29.350 に答える