.Net en utilisant l'expression rationnelleregex excluent correspondance de la capture
Je vais avoir un ensemble de données qui vient dans quelque chose comme ça
< Bunch o' Data Here >
où <
est juste l'indicateur d'un nouvel enregistrement et >
est la fin de l'enregistrement.
ces documents peuvent venir comme ça
< Dataset 1><Dataset 2 broken, no closing tag <dataset 3>
ils pourraient aussi venir comme
< Dataset 1>Dataset 2 broken, no opening tag ><dataset 3>
bien, je ne suis pas certain que ce dernier cas est possible, et je traverserai ce pont quand je dois.
J'essaie d'utiliser Regex pour diviser ceux-ci dans des dossiers en fonction de ce caractère de début et de fin, en fin de compte quelque chose comme ça
Match 1 = < Dataset 1>
Match 2 = <Dataset 2 broken, no closing tag
Match 3 = <Dataset 3>
J'essaie de comprendre comment les groupes non-capture travail et Peut-être que ma compréhension est fausse.
<.*?(?:<|>)
me obtient assez proche, je pense, sauf qu'il comprend le caractère d'ouverture de la 3ème série de données avec la capture du deuxième groupe. Je soupçonne également que ?:
ne fait pas ce dont il a besoin et s'il le sort, il renvoie le même ensemble de correspondances (2).
En utilisant cet ensemble de données: Dataset 2 cassé, pas d'étiquette d'ouverture> Dataset 2 cassé, pas de balise d'ouverture>