Groupe optionnel Regex

Je suis en utilisant cette regex:

((?:[a-z][a-z]+))_(\d+)_((?:[a-z][a-z]+)\d+)_(\d{13})

pour correspondre à des chaînes de caractères comme ceci:

SH_6208069141055_BC000388_20110412101855

séparant en 4 groupes:

SH
6208069141055
BC000388
20110412101855

Question: Comment puis-je faire le premier groupe facultatif, de sorte que le groupe qui en résulte est une chaîne vide?
Je veux obtenir 4 groupes dans tous les cas, lorsque cela est possible.

Chaîne d'entrée pour ce cas: (non souligné après le premier groupe)

6208069141055_BC000388_20110412101855

source d'informationauteur joe