Regex only capture first match
give this a try:
([^:]+):\s*(.*)
You need a non-greedy (or lazy) cardinality for the first group: (.+?): (.+)
.
More details on http://www.regular-expressions.info/repeat.html, chapter "Laziness Instead of Greediness".