Regular expression for exact match of a string

Regex

Regex Problem Overview


I want to match two passwords with regular expression. For example I have two inputs "123456" and "1234567" then the result should be not match (false). And when I have entered "123456" and "123456" then the result should be match (true).

I couldn't make the expression. How do I do it?

Regex Solutions


Solution 1 - Regex

if you have a the input password in a variable and you want to match exactly 123456 then anchors will help you:

/^123456$/

in perl the test for matching the password would be something like

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

EDIT:

bart kiers is right tho, why don't you use a strcmp() for this? every language has it in its own way

as a second thought, you may want to consider a safer authentication mechanism :)

Solution 2 - Regex

In malfaux's answer '^' and '$' has been used to detect the beginning and the end of the text.
These are usually used to detect the beginning and the end of a line.
However this may be the correct way in this case.
But if you wish to match an exact word the more elegant way is to use '\b'. In this case following pattern will match the exact phrase'123456'. >/\b123456\b/

Solution 3 - Regex

(?<![\w\d])abc(?![\w\d])

this makes sure that your match is not preceded by some character, number, or underscore and is not followed immediately by character or number, or underscore

so it will match "abc" in "abc", "abc.", "abc ", but not "4abc", nor "abcde"

Solution 4 - Regex

A more straight forward way is to check for equality

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

however, if you really want to stick to regular expression,

string1 =~ /^123456$/

Solution 5 - Regex

You may also try appending a space at the start and end of keyword: /\s+123456\s+/i.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionChirayuView Question on Stackoverflow
Solution 1 - Regexuser237419View Answer on Stackoverflow
Solution 2 - RegexprageethView Answer on Stackoverflow
Solution 3 - RegexAednaView Answer on Stackoverflow
Solution 4 - RegexkurumiView Answer on Stackoverflow
Solution 5 - RegexBhushan LodhaView Answer on Stackoverflow