这是我的输入字符串:
string MyS = "program{anything}";
我想匹配括号内的所有内容,所以我使用了这个正则表达式:
regex MyR("program{(.*)}");
匹配是(我需要的)=
program{anything}
anything
这是真的,但当我将我的字符串更改为
时string Mys = "program{
anything line1
anything line2
}";
这个正则表达式我不能得到我所希望的:
anything line1
anything line2
也就是说,我希望捕获所有行中的所有内容。
我应该使用什么正则表达式来获取{}
中一个匹配元素中的所有内容?
答案 0 :(得分:0)
首先,在量词?
之后添加*
,或者也可以匹配两个结果之间的项目。 {anything} bla bla bla {somethingelse}
可能与anything} bla bla bla {somethingelse
匹配。或者,使用[^}]
代替您的通配符.
说到女巫,通配符.
不会包含换行符。请改用[^}]
来包含换行符。
program{([^}]*?)}
应该做得很好。