Ricerca…


Sintassi

  • Stile POSIX, fine parola: [[:>:]]
  • Stile POSIX, inizio parola: [[:<:]]
  • Stile POSIX, limite di parole: [[:<:][:>:]]
  • SVR4 / GNU, fine della parola: \>
  • SVR4 / GNU, parola d'inizio: \<
  • Perl / GNU, limite di parole: \b
  • Tcl, fine della parola: \M
  • Tcl, inizio parola: \m
  • Tcl, limite di parole: \y
  • ERE portatile, inizio parola: (^|[^[:alnum:]_])
  • ERE portatile, fine parola: ([^[:alnum:]_]|$)

Osservazioni

Risorse addizionali

Abbina la parola completa

\bfoo\b

corrisponderà alla parola completa senza alfanumerico e _ precedente o successivo.

Prendendo da regularexpression.info

Ci sono tre diverse posizioni che si qualificano come limiti di parole:

  1. Prima del primo carattere nella stringa, se il primo carattere è un carattere di parola.
  2. Dopo l'ultimo carattere nella stringa, se l'ultimo carattere è un carattere di parola.
  3. Tra due caratteri nella stringa, dove uno è un carattere di parola e l'altro non è un carattere di parola.

Il termine carattere parola qui significa uno dei seguenti

  1. Alfabeto ( [a-zA-Z] )
  2. Numero ( [0-9] )
  3. Sottolineatura _

In breve, word character = \w = [a-zA-Z0-9_]

Trova modelli all'inizio o alla fine di una parola

Esamina le seguenti stringhe:

foobarfoo
bar
foobar
barfoo
  • la bar espressioni regolari corrisponderà a tutte e quattro le stringhe,
  • \bbar\b corrisponderà solo al secondo,
  • bar\b sarà in grado di abbinare la 2a e la 3a stringa, e
  • \bbar corrisponderà alla 2a e alla 4a stringa.

Confini di parola

Il metacarattere \b

Per rendere più facile trovare parole intere, possiamo usare il metacarattere \b . Segna l' inizio e la fine di una sequenza alfanumerica *. Inoltre, poiché serve solo per contrassegnare queste posizioni, in realtà non corrisponde a nessun carattere da solo.

*: È comune chiamare una sequenza alfanumerica una parola, dato che possiamo catturare i suoi caratteri con un \w (la parola classe caratteri). Ciò può essere fuorviante, tuttavia, poiché \w include anche numeri e, nella maggior parte dei casi, il carattere di sottolineatura.

Esempi:

regex Ingresso Partite?
\bstack\b stackoverflow No , dal momento che non c'è nessuna occorrenza dell'intero stack parole
\bstack\b foo stack bar , poiché non c'è niente prima né dopo lo stack
\bstack\b stack!overflow : non c'è niente prima dello stack e ! non è un carattere di parole
\bstack stackoverflow , poiché non c'è niente prima dello stack
overflow\b stackoverflow , poiché non c'è niente dopo l' overflow

Il metacarattere \B

Questo è l'opposto di \b , corrispondente alla posizione di ogni carattere senza limiti. Come \b , poiché corrisponde alle posizioni, non corrisponde a nessun carattere. È utile per trovare parole non intere.

Esempi:

regex Ingresso Partite?
\Bb\B abc , poiché b non è circondato da limiti di parole.
\Ba\B abc No , a ha un limite di parole sul lato sinistro.
a\B abc Sì, a non ha un confine di parola sul lato destro.
\B,\B a,,,b , corrisponde alla seconda virgola perché \B corrisponderà anche allo spazio tra due caratteri diversi da una parola (si noti che c'è un limite di parole alla sinistra della prima virgola e alla destra della seconda).

Rendi il testo più breve ma non spezzare l'ultima parola

Per rendere il testo lungo al massimo N caratteri ma lasciare l'ultima parola intatta, utilizzare .{0,N}\b modello:

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


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow