2017-01-29 4 views
0

Ich habe diese möglichen EingabenRegex und in Python

Defender el anteproyecto; 
Defender los anteproyectos; 
Defender; 
Anteproyectos 

Ich brauche eine Python Regex, die nur die ersten 2 entsprechen kann, aber nicht das letzte 2. Ich habe versucht r"(?i)defender (anteproyectos?)?" ohne Erfolg und wird nur erreicht werden, mit so etwas wie die Python-Logik: if "xyz" and "uvw" in "abc"

+0

* die ersten 2 aber nicht das letzte *. Was sind die Regeln der Übereinstimmung? Das erste Wort sollte immer "Verteidiger", das zweite "El" oder "Los" sein? – RomanPerekhrest

+0

Versuchen Sie es mit: '(? I) Verteidiger. +? Anteproyectos?' – Toto

+0

@Toto Panzer, die arbeiteten! – margobra8

Antwort

0

in Ihrem regex (?i)defender (anteproyectos?)? Sie anteproyecto machst (mit oder ohne s) optional, machen es zwingend notwendig, und vergessen Sie nicht das Wort dazwischen:

(?i)defender.+?anteproyectos? 
0

Wenn Ihr Sekundär Begriffe überhaupt zu ändern, oder Ihre Eingabezeichenfolge ist ein- oder mehrzeiligen dies funktionieren könnte:

(?i)(defender[^;]+;) 

Beispiel:

https://regex101.com/r/L7Qs1p/3