我需要一个正则表达式来匹配句子中的${xyz}
。我试过这个表达式\$\{[^\s]+\}
它对我有用。但我有更多场景,比如匹配的单词($ {xyz})不应该包含空格,它不应该像${xyz
和$xyz}
以及${xy z}
一样。
接受
不接受
嗨$ {xy z},感谢您的光临。
嗨$ {xyz},感谢您的光临。
嗨$ {xyz,感谢您的光临。
Hi $ xyz},感谢您的光临。
您好{xyz},感谢您的光临。
注意:它应该匹配整个句子。
答案 0 :(得分:1)
[\s]*([^.!?]*\$\{[^\s]+\}[^.!?]*[.!?])
上述正则表达式的组匹配将为您提供句子,没有任何前导空格字符。
我通过检查以字符结尾的字符串来匹配一个句子"。","!"或"?"。
您可以查看正则表达式here
的含义