in reply to Regular Expression: Matching arbitrary characters

+ and * match greedily, i.e. they match as many characters as they can get without failing the rest of the pattern. In your case that is nearly everything in your string. One solution has been given to you by the posters above, another is to make + non-greedy by appending a ? i.e. using (.+?)