boost regex匹配的高级有关问题

boost regex匹配的高级问题
举个简单的例子:
111AAA222BBB333CCC444
000AAA222BBB333CCC444

AAA,BBB,CCC是我想要的结果

如果用以下表达式
(111|000)(.{1.})222(.{1.})333(.{1.})444

regex_search根据()取结果,会得到如下结果
111,AAA,   BBB,CCC

000,AAA,BBB,CCC

因为用|,就要用(),这会导致结果多出一个,有没有什么解决办法

刚接触boost和regex,表达不够清楚,希望大家能指出条路,谢谢




------解决方案--------------------
(?:111|000)