繁体   English   中英

正则表达式匹配由'!'分隔的单词 并括在花括号'{''}'之间

[英]Regex to match words separated by '!' and enclosed between curly brackets '{' '}'

我正在尝试解析一个字符串,并将所有包含在'!'的花括号{}之间的单词括起来 在里面。
输入示例:
"This is {matchA} and {matchB} but I need {matchC!matchD}, however {matchE} doesn't count but {matchF!matchG} is what I'm looking for"

我用(?<=\\{)(.*?)(?=\\}){(?:\\.|(\\\\{)|[^}'\\n])*}来获取所有匹配{}之间但它返回以下匹配项:
"matchA""matchB""matchC!matchD""matchE""matchF!matchG"作为匹配

但是,我试图只获得有'!'的比赛 在它们中,结果应该只是: "matchC!matchD""matchF!matchG"并忽略其余部分。

我真的很感激帮助。 提前感谢大家的答案

将感叹号放在那里并使用字符类而不是非贪婪。

{([^}]+![^}]+)}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM