2011-12-31 17 views
2

文の最後の2単語を抽出して他の単語に置き換えたいと思います。私は例で説明しましょう:私が欲しいものRegexで文章中の単語を抽出する

word1 word2 word3 word4 .... wordn-2 wordn-1 wordn 

は、私はこのような文を取得するように、正規表現でこの文を置き換えることです:

wordn-1 wordn : word1 word2 word3 word4 .... wordn-2 

私はへ

^(\w)* (\w)$ 

正規表現コードを試してみました

$2 : $1 

それは動作していません。事前に感謝の意を表します。

答えて

1
^(.*)\s+(\w+\s+\w+)$ 

で動作します:JavaScriptで、例えば

$2 : $1 

"word1 word2 word3 word4".replace(/^(.*)\s+(\w+\s+\w+)$/, "$2 : $1"); 

リターン:

"word3 word4 : word1 word2" 
+0

働いて、ありがとう – harun

0

試してみてください。

^(.+)\b(\w+\s+\w+)$ 
あなたの正規表現は、いくつかの理由のために一致しません

(\w)*は、単語の最後の文字を撮影しています:あなたが繰り返しグループではなく、キャプチャのキャプチャグループを繰り返し

  • 代わりに(\w*)と書きます。 (\w)は空白文字と一致しません。
  • さらに、+の代わりに*限定子を使用します。最初のグループが空だった可能性があります。*は「ゼロ以上」を意味します。
  • 最後に、あなたの第2のグループ(\w)は、の1つだけという単語の文字に一致します。
+0

私は除いて、第1の単語を置き換えたいです最後の2つの単語はl 2つの単語。あなたの正規表現は、私が意図したとおりに一致しません。 – harun

+0

おっと...申し訳ありませんが、編集を参照してください – fge

関連する問題