2

目前,我正在使用这种模式进行搜索和替换: "(?<=\\{).+?(?=\\})". 这会找到大括号内的所有内容。(由https://stackoverflow.com/a/8526268/1143917提供)

我将 'MatchEvaluator' 与委托一起使用,因此,当输入字符串为{this} is a {string}时,委托接收thisstring

这对我不利,因为我想同时替换火柴和大括号。

如何更改我的正则表达式,以便代表将收到包含大括号的匹配项,即{this}{string}

4

1 回答 1

1

删除 positve lookbehind 和 positive lookahead,只使用括号:

 "\\{[^\\}]+\\}"

我不能确定这一点,因为我从未在 C++ 中使用过正则表达式,但原则是 match {,加上所有不是的字符},加上}.

于 2013-01-16T19:05:46.273 回答