任何人都可以帮我这个吗?
我有一个包含N个子串的字符串,由标签分隔,我必须得到所有的子串。字符串就像
STARTfoo barENDSTARThi!ENDSTARTstackoverflowrulezEND
我想获得START / END标签之间的所有字符串,我尝试了一些没有运气的正则表达式:
(START)(。*)(END)给出了第一个和最后一个标签之间的所有竞争
(开始)(\ w +)(END)给我没有结果
代码很简单:
doCancelEditor()
我喜欢这样的结果列表:
STARTfoo栏END
STARThi那里!结束
STARTstackoverflowrulezEND
有任何帮助吗?
谢谢!
答案 0 :(得分:1)
将rx.setMinimal(true)
与.*
一起使用以使其变得懒惰:
QRegExp rx("START.*END");
rx.setMinimal(true);
启用或禁用最小匹配。如果 minimal 为
false
,则匹配为贪婪(最大),这是默认值。