Expresión regular para la coincidencia exacta de una cadena

Quiero unir dos contraseñas con expresión regular. por ejemplo, tengo dos entradas “123456” y “1234567”, entonces el resultado no debe coincidir (falso). Y cuando ingresé “123456” y “123456”, el resultado debería coincidir (verdadero).

No pude hacer la expresión. Alguien puede ayudarme, por favor.

si tiene una contraseña de entrada en una variable y desea hacer coincidir exactamente 123456, los anclajes le ayudarán a:

/^123456$/ 

en Perl, la prueba para hacer coincidir la contraseña sería algo así como

 print "MATCH_OK" if ($input_pass=~/^123456$/); 

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 🙂

En la respuesta de malfaux, ‘^’ y ‘$’ se han usado para detectar el comienzo y el final del texto.
Estos se usan generalmente 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”.

/ \ b123456 \ b /

 (? 

esto asegura que tu partida no esté precedida por algún carácter, número o guión bajo y no esté seguida inmediatamente por el carácter o número, o guión bajo

por lo que coincidirá con "abc" en "abc", "abc", "abc", pero no "4abc", ni "abcde"

Una forma más directa es verificar la igualdad

 if string1 == string2 puts "match" else puts "not match" end 

sin embargo, si realmente quiere apegarse a la expresión regular,

 string1 =~ /^123456$/ 

También puede intentar agregar un espacio al comienzo y al final de la palabra clave: /\s+123456\s+/i .