Red de conocimientos turísticos - Información de alquiler - ¿Alguien puede dar un ejemplo de la función del operador de canalización "|" en expresiones regulares de PHP?

¿Alguien puede dar un ejemplo de la función del operador de canalización "|" en expresiones regulares de PHP?

Las condiciones de bifurcación en expresiones regulares se refieren a varias reglas. Si se cumple alguna de las reglas, debe considerarse como una coincidencia. El método específico es separar diferentes reglas con |. ¿No entiendes? No importa, mira el ejemplo:

0\d{2}-\d{8}|0\d{3}-\d{7} Esta expresión puede coincidir con dos números de teléfono separados por guiones Número: uno es un código de área de tres dígitos y un número local de ocho dígitos (como 010-12345678) el otro es un código de área de cuatro dígitos y un número local de siete dígitos (0376-2233445);

\(0\d{2}\)[- ]?\d{8}|0\d{2}[- ]?\d{8} Esta expresión coincide con el área de 3 dígitos código Para un número de teléfono, el código de área puede estar entre paréntesis o no. El código de área y el número local pueden estar separados por un guión o un espacio, o puede que no haya separación. Puede intentar utilizar condiciones de rama para ampliar esta expresión y admitir también códigos de área de 4 dígitos.

\d{5}-\d{4}|\d{5} Esta expresión se utiliza para hacer coincidir códigos postales en los Estados Unidos. La regla para los códigos postales de EE. UU. es de 5 dígitos o 9 dígitos separados por guiones. La razón por la que se da este ejemplo es porque puede ilustrar un problema: cuando utilice condiciones de bifurcación, preste atención al orden de cada condición. Si lo cambia a \d{5}|\d{5}-\d{4}, solo coincidirán los códigos postales de 5 dígitos (y los primeros 5 dígitos de los códigos postales de 9 dígitos). La razón es que al hacer coincidir las condiciones de la rama, cada condición se probará de izquierda a derecha. Si se cumple una determinada rama, no se considerarán otras condiciones.

Compruébalo tú mismo. . .