Cela dépend du type de connaissances que vous possédez sur les modèles. Voici une explication qui suppose que vous avez une sorte d'idée de base sur les expressions régulières sont:
.
correspond à tout caractère
+
moyens répéter le dernier motif 1 fois ou plus
- jusqu'à présent,
.+
signifie un ou plusieurs caractères
?
signifie ungreedy, ce qui signifie que la correspondance s'arrêtera à la première occasion.
Une explication rapide sur greediness:
/.+X/.exec("aaaXaaaXaaa");
["aaaXaaaX"]
/.+?X/.exec("aaaXaaaXaaa");
["aaaX"]
Comme vous pouvez le voir, le caractère ?
fait la ungreedy de recherche, correspondant ainsi aussi peu que possible.
http://www.regular-expressions.info/repeat.html explique assez bien – user187291