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