Buscar..


Sintaxis

  • Estilo POSIX, final de la palabra: [[:>:]]
  • Estilo POSIX, comienzo de palabra: [[:<:]]
  • Estilo POSIX, límite de palabra: [[:<:][:>:]]
  • SVR4 / GNU, fin de la palabra: \>
  • SVR4 / GNU, comienzo de la palabra: \<
  • Perl / GNU, límite de palabra: \b
  • Tcl, fin de la palabra: \M
  • Tcl, comienzo de la palabra: \m
  • Tcl, límite de palabra: \y
  • ERE portátil, comienzo de la palabra: (^|[^[:alnum:]_])
  • ERE portátil, final de la palabra: ([^[:alnum:]_]|$)

Observaciones

Recursos adicionales

Coincidir palabra completa

\bfoo\b

coincidirá con la palabra completa sin alfanumérico y _ precedente o siguiente.

Tomando de regularexpression.info

Hay tres posiciones diferentes que califican como límites de palabras:

  1. Antes del primer carácter de la cadena, si el primer carácter es un carácter de palabra.
  2. Después del último carácter de la cadena, si el último carácter es un carácter de palabra.
  3. Entre dos caracteres en la cadena, donde uno es un carácter de palabra y el otro no es un carácter de palabra.

El término palabra carácter aquí significa cualquiera de los siguientes

  1. Alfabeto ( [a-zA-Z] )
  2. Número ( [0-9] )
  3. Subrayar _

En resumen, el carácter de la palabra = \w = [a-zA-Z0-9_]

Encuentra patrones al principio o al final de una palabra

Examine las siguientes cadenas:

foobarfoo
bar
foobar
barfoo
  • la bar expresión regular coincidirá con las cuatro cadenas,
  • \bbar\b solo coincidirá con el 2do,
  • bar\b podrá hacer coincidir las cadenas 2 y 3, y
  • \bbar coincidirá con las cadenas 2 y 4.

Límites de palabras

El metacarácter \b

Para que sea más fácil encontrar palabras completas, podemos usar el metacarácter \b . Marca el comienzo y el final de una secuencia alfanumérica *. Además, como solo sirve para marcar estas ubicaciones, en realidad no coincide con ningún personaje por sí solo.

*: Es común llamar palabra a una secuencia alfanumérica, ya que podemos capturar sus caracteres con una \w (la clase de caracteres de la palabra). Sin embargo, esto puede ser engañoso, ya que \w también incluye números y, en la mayoría de los casos, el guión bajo.

Ejemplos:

Regex Entrada ¿Partidos?
\bstack\b stackoverflow No , ya que no hay ocurrencia de toda la stack palabras
\bstack\b foo stack bar , ya que no hay nada antes ni después de la stack
\bstack\b stack!overflow : no hay nada antes de stack y ! no es un caracter de palabra
\bstack stackoverflow , ya que no hay nada antes de stack
overflow\b stackoverflow , ya que no hay nada después del overflow

El metacarácter \B

Esto es lo opuesto a \b , que coincide con la ubicación de cada carácter no delimitador. Me gusta \b , ya que coincide con ubicaciones, no coincide con ningún personaje por sí solo. Es útil para encontrar palabras no completas.

Ejemplos:

Regex Entrada ¿Partidos?
\Bb\B abc , ya que b no está rodeado por límites de palabras.
\Ba\B abc No , a tiene un límite de palabra en su lado izquierdo.
a\B abc , a no tiene un límite de palabra en su lado derecho.
\B,\B a,,,b , coincide con la segunda coma porque \B también coincidirá con el espacio entre dos caracteres que no son palabras (se debe tener en cuenta que hay un límite de palabra a la izquierda de la primera coma ya la derecha de la segunda).

Hacer el texto más corto pero no romper la última palabra

Para hacer que el texto largo tenga un máximo de N caracteres pero deje la última palabra intacta, use el patrón .{0,N}\b :

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


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow