/ / ¿Qué son los límites sin palabra en las expresiones regulares (B), en comparación con el límite de palabras? - javascript, regex, palabra-límite, frontera, palabra-límites

¿Qué son los límites sin palabra en las expresiones regulares (B), en comparación con el límite de palabras? - javascript, regex, palabra-límite, frontera, palabra-límites

¿Qué son los límites sin palabra en las expresiones regulares (B), en comparación con el límite de palabras?

Respuestas

66 para la respuesta № 1

Un límite de palabra (b) es una coincidencia de ancho cero que puede coincidir:

  • Entre un carácter de palabra (w) y un carácter sin palabra (W) o
  • Entre un carácter de palabra y el inicio o final de la cadena.

En Javascript la definición de w es [A-Za-z0-9_] y W es cualquier otra cosa

La versión negada de bescrito B, es una coincidencia de ancho cero donde hace lo anterior no sostener. Por lo tanto puede coincidir con:

  • Entre dos caracteres de la palabra.
  • Entre dos caracteres distintos de la palabra.
  • Entre un carácter sin palabra y el principio o el final de la cadena.
  • La cadena vacía.

Por ejemplo, si la cadena es "Hello, world!" entonces b Partidos en los siguientes lugares:

 H e l l o ,   w o r l d !
^         ^   ^         ^

Y B coincide con aquellos lugares donde b no coincide

 H e l l o ,   w o r l d !
^ ^ ^ ^   ^   ^ ^ ^ ^   ^

2 para la respuesta № 2

El propósito básico de non-word-boundary Es crear una expresión regular que dice:

  • si estamos al principio / fin de un word char (w = [a-zA-Z0-9_]) Asegúrese de que el carácter anterior / siguiente también sea un word char,

    p.ej.: "aB." ~ "aw":

    "ab", "a4", "a_", ... pero no "a ", "a."

  • si estamos al principio / fin de un non-word char (W = [^a-zA-Z0-9_]) Asegúrese de que el carácter anterior / siguiente también sea un non-word char,

    p.ej.: "-B." ~ "-W":

    "-.", "- ", "--", ... pero no "-a", "-1"

por word-boundary es similar pero en lugar de asegurarse de que los caracteres adyacentes sean de la misma clase (word char/non-word car) necesitan diferenciar, de ahí el nombre word"s boundary.