2

正規表現を作成するのに助けが必要です。
最初のキーワードと最後のキーワードの間のすべての単語を取得する必要があります。

All最初のキーワードがで、最後のキーワードがであると仮定しAtます。

サンプル入力:

すべてのabcabcdabcccc abdd At

出力は次のとおりである必要があります。

abc abcd abccc abdd

これは現在の私の現在の正規表現です:

(\\s*All (\\w|\\s)+( At))

私の問題は、入力が次のようになっている場合です。

すべてのabcabcabc abc abc At At

出力は次のとおりです。

abc abc abc abc abc At

4

2 に答える 2

3

真ん中の単語に対して欲張りでないマッチングを試してください。

(\s*All (\w|\s)+?( At))

追加された?記号に注意してください。これにより、正規表現エンジンに(\w|\s)+パーツの最短一致を返すように指示し、必要な結果が得られることを期待します。

于 2012-05-05T14:39:57.987 に答える
0

前に文字列を短くします。

String toSearchFor = source.substring (source.indexOf ("All"), source.indexOf ("At")+"At".length);

しかし、どうしたらいいのかわかりません

"At At All abc At All def All ghi At jkl At At All"
于 2012-05-05T14:40:26.660 に答える