2016-11-21 9 views
-1

${xyz}と一致する正規表現が必要です。私はこの表現を試しました\$\{[^\s]+\}それは私のために働いた。しかし、一致する単語($ {xyz})にスペースを入れてはならないようなシナリオがあります。このようにはなりません。${xyz$xyz}${xy z}文中の複数条件に一致する正規表現

、あなたの訪問をありがとう

  • こんにちは$ {XYZ}を受け入れます。

あなたの訪問のため

  • こんにちは$ {XY Z}、感謝を受け入れません。

  • こんにちは$ {xyz}、ありがとうございます。

  • こんにちは$ {xyz、ありがとうございます。

  • こんにちは$ xyz}、ありがとうございます。

  • こんにちは{xyz}、ありがとうございます。

注:文全体と一致する必要があります。

+0

は、あなたの正規表現に障害が発生した入力を投稿する。これを試してみてください、 '\ $ \ {[^ \ sの{}] + \}' –

+0

あなたの条件が既に一致している正規表現の意味を確認することができます与えられた正規表現で。 www.regex101.com –

+0

を確認してください。これは文全体と一致する必要があります。しかし、それは単語 –

答えて

1
[\s]*([^.!?]*\$\{[^\s]+\}[^.!?]*[.!?]) 

上記の正規表現のグループに一致すると、先行するスペース文字なしで文が得られます。

文字「。」、「!」で終わる文字列を確認して文にマッチしました。または "?"。

あなたはhere

+0

それは何も一致しません。あなたは確認できます –

+0

どうやって確認していますか? –

+0

それは働いていますが、もし私が "Hi $ {xyz}のように与えるならば、あなたの訪問に感謝していますHi $ {xy z}、ありがとうございましたHi $ {xyz}、ありがとうございますHi $ {xyz、 $ xyz}、ありがとうございました。あなたのお越しをありがとうございます。{xyz}、ありがとうございました。 –

関連する問題