Szukaj…


Składnia

  • Styl POSIX, koniec słowa: [[:>:]]
  • Styl POSIX, początek słowa: [[:<:]]
  • Styl POSIX, granica słów: [[:<:][:>:]]
  • SVR4 / GNU, koniec słowa: \>
  • SVR4 / GNU, początek słowa: \<
  • Perl / GNU, granica słów: \b
  • Tcl, koniec słowa: \M
  • Tcl, początek słowa: \m
  • Tcl, granica słów: \y
  • Portable ERE, początek słowa: (^|[^[:alnum:]_])
  • Portable ERE, koniec słowa: ([^[:alnum:]_]|$)

Uwagi

Dodatkowe zasoby

Dopasuj pełne słowo

\bfoo\b

dopasuje całe słowo bez alfanumerycznych i _ poprzedzających go lub następujących po nim.

Pobieranie z regularexpression.info

Istnieją trzy różne pozycje, które kwalifikują się jako granice słów:

  1. Przed pierwszym znakiem w ciągu, jeśli pierwszy znak jest znakiem słownym.
  2. Po ostatnim znaku w ciągu, jeśli ostatni znak jest znakiem słownym.
  3. Pomiędzy dwoma znakami w ciągu, gdzie jeden jest znakiem słownym, a drugi nie jest znakiem słownym.

Termin znak słowo oznacza tutaj dowolne z poniższych

  1. Alfabet ( [a-zA-Z] )
  2. Numer ( [0-9] )
  3. Podkreśl _

Krótko mówiąc, znak słowny = \w = [a-zA-Z0-9_]

Znajdź wzory na początku lub na końcu słowa

Sprawdź następujące ciągi:

foobarfoo
bar
foobar
barfoo
  • bar wyrażeń regularnych będzie pasował do wszystkich czterech ciągów,
  • \bbar\b będzie pasować tylko do 2.,
  • bar\b będzie w stanie dopasować 2. i 3. ciąg, oraz
  • \bbar dopasuje 2. i 4. ciąg.

Granice słów

Metaznak \b

Aby ułatwić wyszukiwanie całych słów, możemy użyć metaznaka \b . Oznacza początek i koniec sekwencji alfanumerycznej *. Ponadto, ponieważ służy jedynie do oznaczania tych lokalizacji, w rzeczywistości nie pasuje do żadnej postaci.

*: Często nazywa się sekwencję alfanumeryczną słowem, ponieważ możemy złapać jej znaki za pomocą \w (klasa znaków słownych). Może to być jednak mylące, ponieważ \w zawiera również liczby i, w większości smaków, podkreślenie.

Przykłady:

Regex Wejście Mecze?
\bstack\b stackoverflow Nie , ponieważ nie ma miejsca na cały stack słów
\bstack\b foo stack bar Tak , ponieważ nie ma nic przed ani po stack
\bstack\b stack!overflow Tak : przed stack nie ma nic ! nie jest słowem
\bstack stackoverflow Tak , ponieważ przed stack nie ma nic
overflow\b stackoverflow Tak , ponieważ po overflow nic nie ma

Metaznak \B

Jest to przeciwieństwo \b , dopasowując się do położenia każdego znaku bez granic. Podobnie jak \b , ponieważ pasuje do lokalizacji, nie pasuje do żadnej postaci. Jest to przydatne do znalezienia niż całe słowa.

Przykłady:

Regex Wejście Mecze?
\Bb\B abc Tak , ponieważ b nie jest otoczone granicami słów.
\Ba\B abc Nie , a ma lewą granicę słowa.
a\B abc Tak , a nie ma granicy słów po prawej stronie.
\B,\B a,,,b Tak , pasuje do drugiego przecinka, ponieważ \B dopasuje również spację między dwoma znakami niebędącymi wyrazami (należy zauważyć, że granica znaków znajduje się po lewej stronie pierwszego przecinka i po prawej stronie drugiego).

Skróć tekst, ale nie łam ostatniego słowa

Aby utworzyć długi tekst o długości maksymalnie N znaków, ale pozostawić ostatnie słowo nienaruszone, użyj wzoru .{0,N}\b :

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


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow