J'ai texte sous une forme deexpression Regex à chaîne divisée en articles
[1/12/2008 2:32:11 p.m. - name]
line 1
[1/12/2008 2:36:00 p.m. - name] - PRIVATE
line 2 [some text] sd
[1/12/2008 2:36:00 p.m. - name]
line 3
que je veux diviser en éléments pour que j'ai accès au temps, le nom et le texte de chaque élément,
e.g.:
(item 1)
1: 1/12/2008 2:32:11 p.m.
2: name
3: line 1
(item 2)
1: 1/12/2008 2:36:00 p.m.
2: name
3: - PRIVATE
line 2 [some text] sd
(item 3)
1: 1/12/2008 2:36:00 p.m.
2: name
3: line 3
je tentais de trouver un seul modèle de regex pour y parvenir, mais pas de chance:
\[([0-9\/ \:\.apm]+?) - ([a-z_\-0-9]+?)\](.*?\r\n.+?)(?:\[[0-9\/ \:\.apm]+? - [a-z_\-0-9]+?\])
ce modèle ci-dessus sur retourne le premier élément.
\[([0-9\/ \:\.apm]+?) - ([a-z_\-0-9]+?)\](.*?\r\n.+?)(?!\[[0-9\/ \:\.apm]+? - [a-z_\-0-9]+?\])
Le schéma ci-dessus renvoie tous les éléments, mais seulement le premier caractère du texte (groupe 3)
Toutes les suggestions?
Merci, j'ai essayé votre exemple et je n'a pas fonctionné au départ. Puis il s'est avéré que l'option regex "single line" l'empêchait de fonctionner. Supprimer l'option "single line" l'a résolu. – Muxa
Merci pour le lien vers le testeur regex en ligne 1+ – CheGueVerra
@CheGueVerra - Pas de problème! J'espère également sortir une nouvelle version dans les prochains jours, car il y a un "bug" dans la façon dont cela rend les correspondances HTML/XML. –