Dire que j'ai le schéma suivant:métacaractères intérieur un nombre illimité de fois en modèle externe
INDICATOR\s+([a-z0-9]+)
qui correspondrait par exemple:
INDICATOR AA
ou INDICATOR B3
J'ai besoin de éditer ce modèle afin qu'il corresponde à toutes les instances d'une chaîne commençant par INDICATOR
qui a un espace et qui a ensuite plusieurs correspondances du motif interne, par exemple
INDICATOR AA A3 66 B8 34 CD
INDICATOR BG 4D CS
INDICATOR HG
Est-il possible de le faire?
Solution
Merci à Gumbo je suis venu avec l'expression rationnelle suivante qui convient à mes besoins:
INDICATOR((\s+)?([,-])?(\s+)?([a-z0-9]+))+
Votre regex améliorée correspondra également 'INDICATORXYZ123OU812' (en supposant une correspondance insensible à la casse, bien sûr). Voulez-vous vraiment faire correspondre les chaînes comme 'INDICATOR AABB', comme vous l'avez indiqué dans l'un de vos commentaires? Et quelle saveur de regex utilisez-vous, de toute façon? –
@Alan: J'ai juste remarqué votre commentaire. Oui, je veux faire correspondre les modèles comme vous l'avez dit. Le modèle que j'utilise est un peu plus complexe que l'exemple, donc il est sécuritaire de ne pas avoir d'espaces. Je veux m'assurer que si l'entrée n'a pas d'espace, les motifs sont toujours récupérés. – James