Suche…


Syntax

  • POSIX-Stil, Wortende: [[:>:]]
  • POSIX-Stil, Wortanfang: [[:<:]]
  • POSIX-Stil, Wortgrenze: [[:<:][:>:]]
  • SVR4 / GNU, Wortende: \>
  • SVR4 / GNU, Wortanfang: \<
  • Perl / GNU, Wortgrenze: \b
  • Tcl, Wortende: \M
  • Tcl, Wortanfang: \m
  • Tcl, Wortgrenze: \y
  • Portable ERE, Wortanfang: (^|[^[:alnum:]_])
  • Portable ERE, Wortende: ([^[:alnum:]_]|$)

Bemerkungen

Zusätzliche Ressourcen

Vollkommenes Wort

\bfoo\b

entspricht dem vollständigen Wort ohne alphanumerische Zeichen und _ vor oder nach ihm.

Einnahme von regularexpression.info

Es gibt drei verschiedene Positionen, die sich als Wortgrenzen eignen:

  1. Vor dem ersten Zeichen in der Zeichenfolge, wenn das erste Zeichen ein Wortzeichen ist.
  2. Nach dem letzten Zeichen in der Zeichenfolge, wenn das letzte Zeichen ein Wortzeichen ist.
  3. Zwischen zwei Zeichen in der Zeichenfolge, wobei eines ein Wortzeichen und das andere kein Wortzeichen ist.

Der Begriff " Wort" bedeutet hier Folgendes

  1. Alphabet ( [a-zA-Z] )
  2. Nummer ( [0-9] )
  3. Unterstrich _

Kurz gesagt, Wortzeichen = \w = [a-zA-Z0-9_]

Finden Sie Muster am Anfang oder Ende eines Wortes

Untersuchen Sie die folgenden Zeichenfolgen:

foobarfoo
bar
foobar
barfoo
  • Die bar für reguläre Ausdrücke bar zu allen vier Zeichenfolgen.
  • \bbar\b nur mit dem zweiten überein.
  • bar\b kann die 2. und 3. Saite und
  • \bbar der 2. und 4. Saite.

Wortgrenzen

Das \b Metazeichen

Um das Auffinden ganzer Wörter zu erleichtern, können wir das Metazeichen \b . Es markiert den Anfang und das Ende einer alphanumerischen Sequenz *. Da es nur dazu dient, diese Orte zu markieren, stimmt es eigentlich mit keinem Zeichen überein.

*: Es ist üblich, eine alphanumerische Folge ein Wort zu nennen, da wir die Zeichen mit einem \w (der Wortzeichenklasse) fangen können. Dies kann jedoch irreführend sein, da \w auch Zahlen und in den meisten Geschmacksrichtungen den Unterstrich enthält.

Beispiele:

Regex Eingang Streichhölzer?
\bstack\b stackoverflow Nein, da gibt es keine ocurrence des ganzen Wortes stack
\bstack\b foo stack bar Ja , da gibt es weder vor noch nach dem stack
\bstack\b stack!overflow Ja : vor dem stack gibt es nichts und ! ist kein Wortzeichen
\bstack stackoverflow Ja , da ist nichts vor dem stack
overflow\b stackoverflow Ja , da gibt es nach overflow nichts

Das \B Metazeichen

Dies ist das Gegenteil von \b , das mit der Position jedes Nicht-Begrenzungszeichens übereinstimmt. Wie \b , da er mit Orten übereinstimmt, keinem eigenen Zeichen. Es ist nützlich, um nicht ganze Wörter zu finden.

Beispiele:

Regex Eingang Streichhölzer?
\Bb\B abc Ja , da b nicht von Wortgrenzen umgeben ist.
\Ba\B abc Nein , a hat eine Wortgrenze auf der linken Seite.
a\B abc Ja , a hat keine Wortgrenze auf der rechten Seite.
\B,\B a,,,b Ja , es stimmt mit dem zweiten Komma überein, da \B auch mit dem Leerzeichen zwischen zwei Nicht-Wort-Zeichen übereinstimmt .

Text kürzer machen, aber das letzte Wort nicht brechen

Um langen Text maximal N Zeichen lang zu machen, aber das letzte Wort intakt zu lassen, verwenden Sie .{0,N}\b

^(.{0,N})\b.*


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow