"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo utilizar correctamente los límites de las palabras en expresiones regulares de PHP?

¿Cómo utilizar correctamente los límites de las palabras en expresiones regulares de PHP?

Publicado el 2024-12-23
Navegar:378

How to Correctly Use Word Boundaries in PHP Regular Expressions?

Comprensión de la funcionalidad de límites de palabras en expresiones regulares de PHP

Al intentar implementar límites de palabras para hacer coincidir palabras específicas en el contenido usando expresiones regulares en PHP, es esencial comprender su comportamiento preciso. Sin embargo, durante las pruebas, pueden surgir resultados inesperados.

En el ejemplo proporcionado, la expresión "^|\b@nimal/i" se usó para hacer coincidir la palabra "cat" solo si aparece al principio de otra palabra. Sin embargo, los resultados fueron contrarios a la intuición, lo que generó confusión sobre cómo PHP determina los límites de las palabras.

La clave para comprender la coincidencia de límites de palabras reside en la naturaleza de \b. Este indicador coincide en el punto de transición entre un \w (carácter de palabra) y un \W (carácter que no es de palabra). Para que una coincidencia sea exitosa, debe existir un carácter de palabra antes del carácter de interés.

Considere el primer ejemplo:

preg_match("/(^|\b)@nimal/i", "something@nimal", $match);

La expresión coincide con un límite de palabra entre "g" y "@", ya que "g" es un carácter de palabra y "@" no es una palabra. carácter.

En el segundo ejemplo:

preg_match("/(^|\b)@nimal/i", "something!@nimal", $match);

No se produce ninguna coincidencia porque no hay ningún carácter de palabra antes de "@". Ambos "!" y "@" son caracteres que no son palabras.

Para solucionar el problema, comience con un carácter de palabra antes del carácter que le interesa hacer coincidir. Esto garantiza la presencia de un límite de palabra válido.

Declaración de liberación Este artículo se reproduce en: 1729466537 Si hay alguna infracción, comuníquese con [email protected] para eliminarlo.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3