如果字符串是mongo id,而不是字符串包含mongo id,我想编写一个正则表达式以使其完全匹配。我的mongo ID正则表达式是
/[a-z,0-9]{24}/
效果很好,但是例如,我无法弄清楚如何编写一个拒绝包含mongo id的URL的正则表达式。所以,我得到了,这不是我想要的:
pattern = /[a-z,0-9]{24}/
str1 = "589ab375c3c6416310171b5b"
str2 = "http://somewhere.com/589ab375c3c6416310171b5b?review"
str1.match pattern
输出:
#<MatchData "589ab375c3c6416310171b5b">
第二个字符串
str2.match pattern
输出:
#<MatchData "589ab375c3c6416310171b5b">
我希望第一个匹配,而第二个不匹配。
感谢您的帮助, 凯文
答案 0 :(得分:2)
答案 1 :(得分:1)
您可以使用^
和$
来精确匹配整个字符串。 ^
匹配行的开始,$
匹配行的结束。所以:
/^[a-z,0-9]{24}$/
将匹配仅包含Mongo ID的24个字符的字符串。