Heim >Backend-Entwicklung >PHP-Tutorial >Reguläre Ausdrücke und Text Mining – Text Mining

Reguläre Ausdrücke und Text Mining – Text Mining

伊谢尔伦
伊谢尔伦Original
2016-12-05 11:56:331461Durchsuche

Beim Text-Mining scheint das Platzhalterzeichen (Wildchar) in TSQL derzeit eine sehr gute Wahl zu sein, aber das ist immer der Fall Zong: Wenn Sie sich mit den Metadaten regulärer Ausdrücke auskennen, können Sie reguläre Ausdrücke kompetent und flexibel verwenden, um komplexe Text-Mining-Aufgaben durchzuführen.

1. Sonderzeichen regulärer Ausdrücke

1. Häufig verwendete Metazeichen

werden verwendet, um bestimmte Zeichen (Buchstaben, Zahlen, Symbole) zuzuordnen. sensibel Geschrieben:

.: Entspricht jedem Zeichen außer Zeilenumbrüchen
w: Entspricht Buchstaben, Zahlen, Unterstrichen oder chinesischen Zeichen
s: Entspricht jedem Leerzeichen
d: Entspricht Zahlen
b: Übereinstimmung mit dem Anfang oder Ende des Wortes
^: Übereinstimmung mit dem Anfang der Zeichenfolge
$: Übereinstimmung mit dem Ende der Zeichenfolge
k: Verweis auf den Gruppennamen, zum Beispiel: k, was „Referenzierung“ bedeutet Die Gruppe mit dem Namen Gruppenname
Gruppennummer: Gruppennummer ist die Gruppennummer der Gruppe, 1, 2, 3 usw., was darauf hinweist, dass auf die Gruppe durch die Gruppennummer
2, wiederholte Zeichen oder Gruppen

gibt an, wie oft das vorherige Zeichen oder die vorherige Gruppe wiederholt wird:

: Null oder mehrmals wiederholen

: Ein oder mehrmals wiederholen

?: Null oder einmal wiederholen
{n}: N-mal wiederholen
{n,}: n-mal oder öfter wiederholt
{n,m}: n- bis m-mal wiederholen
3, Gruppierung, Escape, Verzweigung, Qualifikationsmerkmal

Diese Zeichen haben eine bestimmte Bedeutung und Verwendung:

(): Verwenden Sie Klammern, um eine Gruppe darzustellen.

<>: Definieren Sie den Gruppennamen. Die Zeichenfolge zwischen < Gruppenname
: Escape-Zeichen, wandelt Sonderzeichen in normale Zeichen um, zum Beispiel: (, stellt Klammern „(“ dar, Klammern werden nicht mehr als Sonderzeichen verwendet
|: Zweig, die Beziehung zwischen Ausdrücken ist „oder“
[]: Geben Sie eine Liste qualifizierter Zeichen an. Geben Sie die übereinstimmende Zeichenliste in eckigen Klammern an, zum Beispiel: [aeiou] Ein Zeichen muss eines von aeiou sein [^]: Geben Sie die Liste der ausgeschlossenen Zeichen an. Ein Zeichen kann kein Zeichen in der Ausschlussliste sein. Die Liste der ausgeschlossenen Zeichen wird in Klammern angegeben, zum Beispiel: [^aeiou] Ein Zeichen kann kein Zeichen in aeiou sein; Gruppenreferenz

Gruppierung ist ein in Klammern angegebener Unterausdruck; die Gruppierungsreferenz bezieht sich auf die wiederholte Verwendung von Unterausdrücken im Ausdruck, um den regulären Ausdruck prägnanter zu gestalten. Standardmäßig wird die Gruppe automatisch zugewiesen Eine Gruppennummer lautet: Die Gruppennummer beginnt bei 1 und von links nach rechts erhöht sich die Gruppennummer um 1 (Basis 1). Beispielsweise ist die Gruppennummer der ersten Gruppe 1 und die Gruppennummer der zweiten Gruppe ist 1. Die Nummer ist 2 und so weiter. Es gibt drei Formen der

-Gruppendefinition:

(exp): Weisen Sie automatisch eine Gruppennummer zu und verweisen Sie auf die Gruppe die Gruppennummer;

(?exp) : Benennen Sie die Gruppe und verweisen Sie auf die Gruppe über den Gruppennamen;

(?:exp) : Die Gruppe stimmt nur mit Text an der aktuellen Position überein Die Gruppe kann nicht referenziert werden.

1. Verweisen Sie auf die Gruppe über die Gruppennummer.

Definieren Sie eine Gruppe (exp) vor dem regulären Ausdruck , der Ausdruck der Gruppe kann über die Gruppennummer referenziert werden: Die Syntax zum Referenzieren der Gruppe lautet:

Zum Beispiel: b(w+)bs+1b, in diesem regulären Ausdruck gibt es nur eine Gruppe (w+) und die Gruppennummer ist 1. Verwenden Sie nach der Gruppe 1, um darauf zu verweisen. Ersetzen Sie 1 durch den gruppierten Unterausdruck, äquivalent zu: b(w+)bs+(w+)b.

2, verweisen Sie auf die Gruppe über den Gruppennamen

Im regulären Ausdruck kann die Gruppe benannt werden. Das benannte Gruppenformat lautet: (?exp), der Gruppenname ist Name, Verweisen Sie über den Namen auf die Gruppe. Das Format der Gruppe ist: k, die Gruppe wird über den Gruppennamen und die Gruppennummer referenziert und ihr Textabgleichsverhalten ist dasselbe.

Zum Beispiel: b(?w+)bs+1b, verwenden Sie im hinteren Teil der Gruppe k, um auf die Gruppe zu verweisen, und ersetzen Sie k durch den Unterausdruck der Gruppe, was äquivalent ist zu: b(w+ )bs+( w+)b.

3, nicht zitierbare Gruppierung

(?:exp): Mit dieser Syntax definierte Gruppen können nicht in Anführungszeichen gesetzt werden und können nur mit Text an der aktuellen Position übereinstimmen. Der reguläre Ausdruck wird nicht automatisch der Gruppe zugewiesen Zahlen.

3. Behauptungssuche

Behauptung ist ein logischer Ausdruck. Nur wenn der Ausdruck wahr ist, ist die Übereinstimmung erfolgreich. Wenn eine Übereinstimmung erfolgreich ist, enthält der zurückgegebene Text keine Präfixe oder Suffixe, d. h. die Behauptung wird verwendet, um Text zu finden, der vor oder nach einem bestimmten „Text“ steht. Vier Syntaxen für Behauptungen:

(?=exp): Die Rückseite des Textes entspricht dem Ausdruck exp, und der Ausdruck vor der exp-Position wird zurückgegeben.

(?<=exp): Die Vorderseite des Textes stimmt mit dem Ausdruck überein. exp, gibt den Ausdruck nach der exp-Position

(?!exp) zurück: Das Suffix des Textes ist nicht exp, gibt den Ausdruck zurück, dessen Suffix nicht exp ist

(? < ; !exp): Das Präfix des Textes ist nicht exp, gibt das Präfix zurück. Der Ausdruck, der nicht exp ist
1, Suffix-Matching

(?=exp): Der Ausdruck exp wird nach dem Text abgeglichen und der Ausdruck vor der exp-Position wird zurückgegeben. Der Suffixabgleich ähnelt TSQLs „%ing“;

Zum Beispiel regulärer Ausdruck: bw+(?=ingb)

Analyse: Stellen Sie sicher, dass das Suffix ing ist und dass es das Ende des Wortes ist (b), passen Sie Wörter an, die mit ing enden, aber geben Sie den vorderen Teil des Wortes zurück, den Teil vor ing; > Wenn Sie beispielsweise „Ich lese ein Buch“ suchen, wird „reading“ gefunden, da das Zeichen mit „ing“ endet. Dieser reguläre Ausdruck gibt „read“ zurück und bestätigt, dass der zurückgegebene Text das Suffix nicht enthält.

2, Präfixübereinstimmung

(?<=exp): Die Vorderseite des Textes entspricht dem Ausdruck exp, und der Ausdruck nach der exp-Position wird zurückgegeben. Der Präfixabgleich ähnelt TSQLs „re%“;

Zum Beispiel regulärer Ausdruck: (?<=bre)w+b


Analyse: Der Anfang des Wortes (b) und das Präfix des Wortes ist re, findet Wörter, die mit re beginnen, gibt die zweite Hälfte des Wortes zurück, den Teil nach re

Wenn Sie beispielsweise nach „Ich lese ein Buch“ suchen, wird „reading“ gefunden. Da dem Zeichen „Starting with re“ vorangestellt ist, gibt dieser reguläre Ausdruck „ading“ zurück und bestätigt, dass der zurückgegebene Text das Präfix nicht enthält.

3. Suchen Sie nach Text, dessen Präfix oder Suffix kein bestimmter Text ist.

Diese beiden Behauptungssuchen sind das Gegenteil der beiden vorherigen und haben wenig Wirkung.

( ?!exp): Das Suffix des Textes ist nicht exp, und der Ausdruck, dessen Suffix nicht exp ist, wird zurückgegeben.

(? < !exp): Das Präfix des Textes ist nicht exp, und das Präfix ist nicht exp.

3.1 Zum Beispiel regulärer Ausdruck Formel: bw+(?!ingb)

Analyse: Passen Sie keine Wörter an, die mit ing enden, suchen Sie nach „Ich bin“. „Ein Buch lesen“, zurückgegebener Text: I, am, a, book

3.2 Zum Beispiel regulärer Ausdruck: (?< !bre)w+b

Analyse: stimmt nicht mit Wörtern überein Beginnen Sie mit re und suchen Sie nach „I am reading a book“, dem zurückgegebenen Text: I, am, a,book

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn