Spiele habe ich zwei Strings, dieRegex UND-Operator für überlappende
chriscattano
christiancattano
I Substrings in Längen von 3 bis 10 haben, dass beide Saiten teilen
(chr)(hri)(ris)(cat)(att)(tta)(tan)(ano)(chri)(hris)(catt)(atta)(ttan)(tano)(chris)(catta)(attan)(ttano)(cattan)(attano)(cattano)
Längen von meinem Namen unterschiedlichen
Ich versuche, diese in eine Regex-Suche, die die Wörter chris
und cattano
erfolgreich übereinstimmen, so dass ich tun kann .replace
, und wenden Sie eine <span>
mit einer Sass-Klasse auf die Ergebnisse des Spiels.
Wenn ich meine Regex formatiert zu sein:
/(chr)|(hri)|(ris)|(cat)|(att)|(tta)|(tan)|(ano)|(chri)|(hris)|(catt)|(atta)|(ttan)|(tano)|(chris)|(catta)|(attan)|(ttano)|(cattan)|(attano)|(cattano)/g
Ich schaffe es auf chr
und cattan
zu einander passen, aber ich kann nicht herausfinden, wie chris
und cattano
hervorzuheben; Ich vermisse die is
und die o
.
Dieses Beispiel kann sich drastisch ändern, da ich nur meinen Namen verwende, um die Funktionalität zu testen und zu perfektionieren. Es wird schließlich für E-Mail-Adressen, Namen und Adressen verwendet. Also die Reihenfolge der Capture-Gruppen zu ändern (wenn das das beheben könnte) ist keine Lösung und wenn es dynamischer gemacht wird, habe ich wenig Kontrolle über die Reihenfolge der Captures-Gruppen, wenn sie in ein Regex-Objekt eingefügt werden, und als Parameter der .replace()
Methode zugeführt.
Hier ist ein Regexpal, wo ich verschiedene Dinge versucht habe, um es zu markieren, die Spiele, die ich brauche. Hoffentlich könnte jemand es zum Arbeiten basteln?
http://www.regexpal.com/?fam=97413
Was ist Ihr Endziel? Versuchen Sie Code zu schreiben, der die Commons-Teilstrings zweier Strings hervorhebt? Ich habe das Gefühl, dass reguläre Ausdrücke hier nicht die richtige Lösung sind. –
@ Jordan Ja, wenn zwei Strings gegeben sind, habe ich Code, der alle geteilten Teilstrings zwischen den Längen von 3 und 10 extrahiert. Die Idee war, diese Teilstrings würden dann an ein Regex-Objekt ad als Parameter in einer .replace() -Methode verwendet werden . Die Methode .replace() würde die übereinstimmenden Wörter durch einen Bereich ersetzen, der eine Klasse sass enthält, die eine Hintergrundfarbe angibt. Es würde ähnlich aussehen wie h.replace (regexObj, ' $ {regexObj}'); – Chris
Bestellt die Bestellung? Was würden 'chriscattano' und' cattanoXYZchris' ergeben? Es gibt [viele bestehende Arbeiten] (https://www.google.com/search?q=algorithm+find+all+common+substrings) beim Aufzählen gängiger Teilstrings. Haben Sie zwingende Gründe, das Rad neu zu erfinden? –