2012-05-05 12 views
2

正規表現を作成するための助けが必要です。
最初のキーワードと最後のキーワードの間にすべての単語を入れる必要があります。Java正規表現特定の単語を無効にする

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

サンプル入力:

すべてのABC ABCD abccccのabdd

で出力がなければなりません:

ABC ABCD abcccは、これが私の現在のある

をabdd今の正規表現:

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

私の問題は、これまでの入力は次のようにある場合:

すべてのABC ABC ABC ABC ABC

で出力された時:

ABC ABC abc abc abc At

答えて

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

注追加?記号:真ん中に単語を非貪欲マッチングを試してみてください。これは正規表現エンジンに(\w|\s)+部分の最短一致を返すように指示し、必要な結果が得られることを願っています。

+0

で何をすべきかわからない

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

nfinium

0

前に、あなたの文字列を短く:しかし、私は、感謝のxDそれは作品

"At At All abc At All def All ghi At jkl At At All" 
関連する問題