Comment puis-je écrire une expression régulière pour correspondre à ce qui suit:Quel regex correspond à cela?
CONTEXT_84 =
ou
CONTEXT_5 =
Comment puis-je écrire une expression régulière pour correspondre à ce qui suit:Quel regex correspond à cela?
CONTEXT_84 =
ou
CONTEXT_5 =
CONTEXT_(84|5) =
cela dépend de votre langue cible, mais la principale différence entre les deux est le nombre, donc vous pouvez le faire pour obtenir 'CONTEXT_' avec au moins un nombre suivi d'un espace et d'un '=':
CONTEXT_[0-9]+ =
ou cela, pour obtenir 'CONTEXT_' avec min d'un, maximum de deux nombres, suivi d'un espace et un '=':
CONTEXT_[0-9]{1,2} =
Bien que je puisse comprendre la dernière remarque, je pense que vous devriez au moins souligner qu'elle correspond à tout - de peur qu'elle ne soit prise pour une suggestion sérieuse. – Draemon
@Demon, bon point, bien pris. J'ai édité le message pour supprimer la réponse flip. – akf
Votre dernier exemple est manquant le = –
CONTEXT_ [0-9] + = *
:) pas assez rapide –
Essayez :
CONTEXT_\d{1,2} =
Ce qui signifie:
CONTEXT_\d{1,2}
match le caractère s «
CONTEXT_
» littéralement «CONTEXT_
» match un seul chiffre0..9
«\d{1,2}
» entre un et 2 fois, autant de fois que possible, redonnant au besoin (gourmand) «{1,2}
»Créé avec RegexBuddy
+1 (en supposant que c'est ce que l'OP avait l'intention). Aussi RegexBuddy tente de faire une explication lisible par l'homme de l'expression régulière? C'est plutôt soigné, je vais devoir le regarder. – Falaina
Ouais - l'explication est exportée à partir de la fenêtre "Créer" de RegexBuddy - Je l'ai trouvé très utile quand j'apprenais regex – crono
Votre question contient déjà la réponse: vous demandez
comment faire correspondre
CONTEXT_84 =
ouCONTEXT_5 =
?
qui est déjà tout ce qu'il faut, la seule chose qui manque est comment dire ou dans Regexp, et c'est |
.
Ainsi, votre solution est
CONTEXT_84 =|CONTEXT_5 =
Vous pouvez raccourcir ce en tirant les parties communes:
CONTEXT_(84|5) =
Et vous avez terminé!
Ceci est parfaitement correct compte tenu de la question, mais probablement pas ce que l'OP réellement prévu – Draemon
Je pense que vous voulez dire CONTEXT_ (84 | 5). Votre correspondance correspond à CONTEXT_8, CONTEXT_4, CONTEXT_5 et CONTEXT_ |, mais pas à CONTEXT_84. En outre, il devrait y avoir un espace ou \ s * ou quelque chose avant le '=' – DrAl
-1, incorrect regex pour le problème, comme indiqué par un autre commentaire. –