I'm using Boost.Regex to match a long, complicated pattern to between 30 and 50 long strings.  I loop through and call regex_search until it doesn't find any more matches in the current string and then it moves on to the next string.  The problem is that when it has looped through about 40 of the strings, Boost.Regex will hang on the regex_search() function, and it will just sit there processing forever.  If I reduce the number of strings I match against there is no problem;  20-30 iterations works like a charm.  It also seems to help if I reduce the size of the regex pattern.

Frankly I have no clue what could be causing the problem, and any help would be greatly appreciated.

Thanks