我不知道为什么我会挣扎于这个简单的正则表达式,但我是:)
我需要一个正则表达式来匹配字符串:
[a-zA-Z0-9_.-]
尝试了一堆正则表达式,但总有一些东西在匹配中滑落。我最终得到了
^([a-zA-Z0-9_.-]{1,48})([^.])$
出于某种原因,例如test$
被视为有效。 test$$
不是。
有人可以帮助我走上正轨吗?
答案 0 :(得分:1)
[^.]
结束你的正则表达式并将匹配除点之外的任何字符,因此你实际上要检查长度为2到49个字符的字符串,最后一个字符串除了.
之外的任何字符。
要检查您的标准,您可以改为使用:
^[a-zA-Z0-9_.-]{0,47}[a-zA-Z0-9_-]$
这个考虑到最后一个角色类正在“吃掉”一个角色。
答案 1 :(得分:1)