À la suite d'un previous question où j'ai demandé:utilisant l'expression rationnelle pour correspondre à la chaîne entre deux chaînes en excluant les chaînes
Comment puis-je utiliser une expression régulière pour correspondre le texte qui se trouve entre deux chaînes, où les deux chaînes sont eux-mêmes enfermés deux autres chaînes, avec n'importe quelle quantité de texte entre les chaînes enfermantes intérieures et extérieures?
J'ai eu cette réponse:
/outer-start.*?inner-start(.*?)inner-end.*?outer-end/
Je voudrais maintenant savoir comment exclure certaines chaînes du texte entre les cordes enveloppantes extérieures et les cordes enveloppantes internes.
Par exemple, si j'ai ce texte:
externe-démarrage texte intérieur-début texte qui-i-want-extrémité intérieure texte plus outer -end
je voudrais « texte » et « un peu plus de texte » ne pas contenir le mot « indésirables ».
En d'autres termes, c'est OK:
externe-start certains voulaient le texte intérieur-start texte qui-i-want-extrémité intérieure un peu de texte plus recherché externe fin
Mais ce n'est pas OK:
externe-démarrage texte non désiré intérieur-démarragetexte qui-i-want-extrémité intérieure texte plus indésirable -extrémité extérieure
Ou d'expliquer davantage , l'expression entre les délimiteurs extérieurs et intérieurs dans la réponse précédente ci-dessus devrait exclure le mot «indésirable».
Est-ce facile à faire correspondre avec les regex?
Qu'est-ce que vous essayez de le faire? – Gumbo