1

我正在尝试为以下场景制定一个正则表达式:

要匹配的字符串:mName87.com

因此,字符串可以由任意数量的字母数字字符组成,但在字符串的任何位置都只能包含一个点。

我制定了这个正则表达式 : [a-zA-Z0-9.],但它甚至匹配多个点(。)

我在这里做错了什么?

4

5 回答 5

4

您提供的正则表达式仅匹配您尝试验证的整个字符串中的单个字符。在您的场景中需要注意一些事项

  • 您想匹配整个字符串,因此您的正则表达式必须以^(字符串开头)开头并以$(字符串结尾)结尾。
  • 然后你想接受任意数量的字母数字字符,这是用 完成的[a-zA-Z0-9]+,这里+表示一个或多个字符。
  • 然后匹配点:(\.这里必须转义)
  • 最后再次接受更多字符。

所有的正则表达式将是:

^[a-zA-Z0-9]+\.[a-zA-Z0-9]+$
于 2013-07-25T11:29:24.500 回答
1

您可以使用此正则表达式

\\w*\\.\\w*

你可以在这里试试

于 2013-07-25T11:28:35.280 回答
0

使用这个正则表达式^[a-zA-Z0-9]*\.[a-zA-Z0-9.]*$

于 2013-07-25T11:31:28.563 回答
0

尝试:

^([a-zA-Z0-9]+\.)+[a-zA-Z]$
于 2013-07-25T11:25:27.373 回答
0

编辑:

尝试

([a-zA-Z0-9]+\.[a-zA-Z0-9]+)|(\.[a-zA-Z0-9]+)|([a-zA-Z0-9]+\.)

即:[以点结尾的单词] OR [两个单词和中间的点] OR [以点开头的单词]

于 2013-07-25T11:26:08.863 回答