标签: java regex
我有一个正则表达式:
\{\{([\S\s]+?)\.$
和文字:
{{system 1}} asdfd{{system2.
我需要解析最短的匹配,比如“system2”
答案 0 :(得分:4)
你可以使用这种基于正则表达式的负前瞻:
\{\{(?!.*\{\{)([\S\s]+)\.
否定前瞻(?!.*\{\{)可确保我们匹配输入中的最后{{。
(?!.*\{\{)
{{
RegEx Demo
答案 1 :(得分:0)
您只需使用
(?<=\{\{)([\S\s]+?)(?=\.$)
参见演示。
https://regex101.com/r/rH3nV0/2