javascript - probar - ¿Qué son los límites que no son palabras en expresiones regulares(/ B), en comparación con el límite de palabras?
probar expresiones regulares (2)
¿Qué son los límites que no son palabras en las expresiones regulares (/ B), en comparación con el límite de palabras?
El propósito básico de non-word-boundary es crear una expresión regular que diga:
si estamos al principio / al final de una
word char(/w=[a-zA-Z0-9_]), asegúrese de que el carácter anterior / siguiente también sea unaword char,por ejemplo:
"a/B."~"a/w":"ab","a4","a_", ... pero no"a ","a."si estamos al principio / al final de un
non-word char(/W=[^a-zA-Z0-9_]), asegúrese de que el carácter anterior / siguiente también sea un carácternon-word char,por ejemplo:
"-/B."~"-/W":"-.","- ","--", ... pero no"-a","-1"
Para word-boundary es similar, pero en lugar de asegurarse de que los caracteres adyacentes sean de la misma clase ( word char / non-word car ) deben diferir, de ahí el word''s boundary .
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 /b , escrita /B , es una coincidencia de ancho cero donde no se cumple lo anterior. 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 coincide 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 !
^ ^ ^ ^ ^ ^ ^ ^ ^ ^