我想用正則表達式匹配兩個密碼。例如,我有兩個輸入“ 123456”和“ 1234567”,那么結果應該不匹配(假)。當我輸入“ 123456”和“ 123456”時,結果應該匹配(正確)。我無法表達。我該怎么做?
3 回答

守著一只汪
TA貢獻1872條經驗 獲得超4個贊
如果您在變量中輸入了密碼,并且想精確匹配123456,那么錨點將為您提供幫助:
/^123456$/
在perl中,匹配密碼的測試類似于
print "MATCH_OK" if ($input_pass=~/^123456$/);
編輯:
巴特·基爾斯(Bart kiers)是正確的,為什么不為此使用strcmp()?每種語言都有它自己的方式
第二個想法,您可能需要考慮一種更安全的身份驗證機制:)

幕布斯7119047
TA貢獻1794條經驗 獲得超8個贊
在malfaux的答案中,“ ^”和“ $”已用于檢測文本的開頭和結尾。
這些通常用于檢測行的開始和結束。
但是,在這種情況下,這可能是正確的方法。
但是,如果您想匹配一個確切的單詞,則更優雅的方法是使用'\ b'。在這種情況下,以下模式將與確切的短語“ 123456”匹配。
/ \ b123456 \ b /

吃雞游戲
TA貢獻1829條經驗 獲得超7個贊
(?<![\w\d])abc(?![\w\d])
這樣可以確保您的匹配項前面沒有字符,數字或下劃線,并且后面沒有字符,數字或下劃線
因此它將匹配“ abc”,“ abc?!?,“ abc”中的“ abc”,但不匹配“ 4abc”或“ abcde”
- 3 回答
- 0 關注
- 2712 瀏覽
添加回答
舉報
0/150
提交
取消