我正在尝试为以下场景制定一个正则表达式:
要匹配的字符串:mName87.com
因此,字符串可以由任意数量的字母数字字符组成,但在字符串的任何位置都只能包含一个点。
我制定了这个正则表达式 : [a-zA-Z0-9.]
,但它甚至匹配多个点(。)
我在这里做错了什么?
您提供的正则表达式仅匹配您尝试验证的整个字符串中的单个字符。在您的场景中需要注意一些事项
^
(字符串开头)开头并以$
(字符串结尾)结尾。[a-zA-Z0-9]+
,这里+
表示一个或多个字符。\.
这里必须转义)所有的正则表达式将是:
^[a-zA-Z0-9]+\.[a-zA-Z0-9]+$
使用这个正则表达式^[a-zA-Z0-9]*\.[a-zA-Z0-9.]*$
尝试:
^([a-zA-Z0-9]+\.)+[a-zA-Z]$
编辑:
尝试
([a-zA-Z0-9]+\.[a-zA-Z0-9]+)|(\.[a-zA-Z0-9]+)|([a-zA-Z0-9]+\.)
即:[以点结尾的单词] OR [两个单词和中间的点] OR [以点开头的单词]