Quiero unir dos contraseñas con expresiones regulares. Por ejemplo, tengo dos entradas "123456" y "1234567", entonces el resultado no debe coincidir (falso). Y cuando he ingresado "123456" y "123456", el resultado debe coincidir (verdadero).
No pude hacer la expresión. ¿Cómo lo hago?
Respuestas:
Si tiene una contraseña de entrada en una variable y desea coincidir exactamente con 123456, los anclajes lo ayudarán a:
en perl la prueba para encontrar la contraseña sería algo así como
EDITAR:
Bart Kiers tiene razón, ¿por qué no usas un strcmp () para esto? cada idioma lo tiene a su manera
Como segundo pensamiento, es posible que desee considerar un mecanismo de autenticación más seguro :)
fuente
\z
lugar de$
./^123456$/
coincide con ambos123456
y123456
seguido de un avance de línea, mientras que/^123456\z/
solo coincide123456
.En la respuesta de malfaux, '^' y '$' se han utilizado para detectar el comienzo y el final del texto.
Por lo general, se usan para detectar el comienzo y el final de una línea.
Sin embargo, esta puede ser la forma correcta en este caso.
Pero si desea hacer coincidir una palabra exacta, la forma más elegante es usar '\ b' . En este caso, el siguiente patrón coincidirá con la frase exacta '123456'.
fuente
\bhttp:\/\/www.foo.com\b
y coincidiráhttp://www.foo.com=?http://www.foo.com
con la URL tal como está. La primera respuesta, usando^
(principio) y$
(final) es el mejor método a través de estos probadores: regex101.com y regexr.com (el probador incluido en un enlace a continuación no es muy fácil de usar, estos son mucho mejores)esto asegura que su coincidencia no esté precedida por algún carácter, número o guión bajo y que no le siga inmediatamente el carácter o número o guión bajo
entonces coincidirá con "abc" en "abc", "abc", "abc", pero no con "4abc" ni "abcde"
fuente
\w
coincide con dígitos y letras, por lo que[\w\d]
es redundante.Una forma más directa es verificar la igualdad
sin embargo, si realmente quieres apegarte a la expresión regular,
fuente
También puede probar añadiendo un espacio al principio y al final de la palabra clave:
/\s+123456\s+/i
.fuente