ich mit ohne eine besondere Bedingung ein Problem haben. Ich erstelle bereits ein Beispiel in dieser LINK.Regex: Wie kann man vermeiden, ein Wort in einer Zeichenkette auf einer Bedingung passenden
Wenn ich Liste der Satz wie folgt aus:
X-MAS TREE //it should be excluded because match my dictionary
BLA BLA TREE
XMAS TREE
X-MASTREE
X-TREE
X-MASTREE
Und ich habe Wörterbuch, dass WEIHNACHTSBAUM Synonyme hat: WEIHNACHTSBAUM, X-MasTree, X-Baum,. Und ich muss alle Synonymewörter in mein Wörterbuchwort ändern.
Ausschließen X-MAS TREE? Weil all die regex wird mit X-MAS TREE Wenn ich mit Stichwort TREE suchen ersetzen werden, wird es Endlosschleife, weil X-MAS TREETREE
hat ich schon viele Kombination versucht, aber nicht funktioniert:
\b(XMAS TREE|X\-MASTREE|X\-TREE|TREE|(?!X\-MAS TREE)\b
\b(XMAS TREE|X\-MASTREE|X\-TREE|(?!X\-MAS \s)TREE)\b
\b(XMAS TREE|X\-MASTREE|X\-TREE|((?!X\-MAS)|\w*)TREE)\b
\b(XMAS TREE|X\-MASTREE|X\-TREE|(?:(?!X\-MAS))TREE)\b
EDIT
Ich brauche Grenzen (aus irgendeinem Grund), weil ich die Regex in meinem Code, mit Schleifenbildung, und müssen es für ein anderes Wörterbuch verwenden, warum, für diesen Fall brauche ich spezielle Bedingung (ohne die Struktur zu ändern Code, bearbeiten nur die Regex TREE)
Vielleicht die Auflistung aller unerwünschten Fälle als Lookbehinds? ['\ b (?
die ersten drei Regex, ich brauche es, nur X-MAS TREE, die ausgeschlossen werden müssen. Der andere ist richtig. –
Sie können versuchen mit: ['/^([^X].+|X[^-].+|X-[^M].+|XM[^A].+|X-MA[^S ]. + | X-MAS [^]. + | X-MAS [^ T]. + | X-MAS T [^ R]. + | X-MAS TR [^ E]. + | X-MAS TRE [^E]. +)/Gm'] (http://regexr.com/3f17o) – Faibbus