Frage mich , was der beste Weg , entsprechen ist "test.this"
aus "blah blah blah [email protected] blah blah"
liegt? Python verwenden.
ich habe es versucht re.split(r"\b\w.\w@")
Frage mich , was der beste Weg , entsprechen ist "test.this"
aus "blah blah blah [email protected] blah blah"
liegt? Python verwenden.
ich habe es versucht re.split(r"\b\w.\w@")
\w
passt nur zu einem einzelnen Charakter - Sie wollen wahrscheinlich\w+
Antworten:
Ein
.
in Regex ist ein Metazeichen, das verwendet wird, um mit einem beliebigen Zeichen übereinzustimmen. Um einem wörtlichen Punkt zu entsprechen, müssen Sie ihn also maskieren\.
quelle
In Ihrem regulären Ausdruck müssen Sie dem Punkt entkommen
"\."
oder ihn innerhalb einer Zeichenklasse verwenden"[.]"
, da es sich um ein Metazeichen im regulären Ausdruck handelt, das mit jedem Zeichen übereinstimmt.Außerdem müssen Sie
\w+
statt\w
eines oder mehrerer Wortzeichen übereinstimmen.Wenn Sie den
test.this
Inhalt möchten ,split
ist dies nicht das, was Sie brauchen.split
wird Ihre Saite um die teilentest.this
. Beispielsweise:Sie können verwenden
re.findall
:quelle
Wenn Sie also die Punktliteratur bewerten möchten, sollten Sie sie in eckige Klammern setzen:
quelle
In Javascript müssen Sie \ verwenden. einen Punkt abgleichen.
Beispiel
und
quelle
Um nicht-alphanumerische Zeichen von Zeichenfolgenvariablen, einschließlich Punkten, zu umgehen, können Sie Folgendes verwenden
re.escape
:Ausgabe:
Sie können den maskierten Ausdruck verwenden, um die Zeichenfolge buchstäblich zu finden / abzugleichen.
quelle
Dieser Ausdruck,
funktioniert möglicherweise auch für diese bestimmten Arten von Eingabezeichenfolgen in Ordnung.
Demo
Prüfung
Ausgabe
Wenn Sie den Ausdruck vereinfachen / ändern / untersuchen möchten, wurde dies im oberen rechten Bereich von regex101.com erläutert . Wenn Sie möchten , können Sie in diesem Link auch sehen , wie es mit einigen Beispieleingaben übereinstimmt.
quelle