[英]Match all characters except one
我有一个带有模式的测试字符串
{something1=any_character} any_character {something2=any_character}
我想匹配第一个括号内的序列,而在下一个迭代中,我想匹配下一个。 所以我正在使用Pattern
和Matcher
。
我拥有的正则表达式是\\{(\\w)*something1.*(?!=).*(?!\\})
但问题是它匹配完整的字符串,而不是第一个。 我想突破第一搜索起初}
然后再找下一个}
。
只是使通配符变得懒惰:
\\{(\\w)*?something1.*?(?!=).*?\\}
如果您使用的是Pattern
和Matcher
,则仅捕获这样的组:
(\\\\{\\\\w+=\\\\w+\\\\})
并使用while()
循环与matcher.find()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.