L'expression rationnelle correspondant key=“valeur” modèle

Je veux correspondre le motif suivant:

key="value" key="value" key="value" key="value" ...

où la clé et la valeur sont [a-z0-9]+, les deux devraient être regroupées (2 groupes, les " - caractères peut être associé ou sauté)

d'entrée qui ne doit pas correspondre à:

key="valeur"key="valeur" (pas d'espace entre les paires)

Pour l'instant j'ai eu(pas .NET syntaxe):

([a-z0-9]+)=(\"[a-z0-9]+\")(?=\s|$)

le problème avec ça, qu'elle correspond à key4="value4" en entrée:

 key3="value3"key4="value4"
  • pourquoi avez-vous besoin de regex ici? vous pouvez simplement diviser l'espace et d'obtenir vos paires
  • Je suis d'accord. Ne pas utiliser les expressions régulières, sauf si vous en avez besoin pour les non trivial modèles. C'est tout simplement la division de l'espace.
  • pouvez-vous donner un exemple de ce que tu veux dire?
  • Êtes-vous essayer d'analyser les attributs XML avec la Regex? Sûrement faisable, mais dans ce cas, il est plus facile à utiliser intégré d'analyse XML en C#, par exemple, mais pas exclusivement, LINQ to XML.
  • Résidus formés, ce n'est pas des attributs XML. C'est quelque chose d'autre, privé de la syntaxe.
InformationsquelleAutor ilann | 2010-06-23