帮助我理解这个正则表达式的组件

时间:2011-10-30 19:58:47

标签: regex

这是什么意思?

^[a-zA-Z0-9]*$

这是我目前所知道的:^表示字符串必须以字母或数字开头,*表示零或多个出现,但是如何混合*和$?最后一部分让我困惑。

5 个答案:

答案 0 :(得分:5)

这个正则表达式有三个组成部分:

  1. ^匹配字符串的开头;
  2. [a-zA-Z0-9]*匹配零个或多个字符,其中每个字符可以是字母或数字;
  3. $匹配字符串的结尾。
  4. 总之,正则表达式匹配任何完全由字母和数字组成的字符串(包括空字符串)。

答案 1 :(得分:2)

^标记表达式的开头,$标记结束。所以它意味着一个完全由0或更多字母(大写或小写)或数字组成的字符串。

答案 2 :(得分:1)

你不要混合*和$。 *是您已经注意到的量词,它适用于您的案例中的前一个组/字符。

^也表示字符串的开头。基本上不是角色的地方。它们被称为锚。分别是$表示字符串的结尾。

最后你写的正则表达式可以匹配任何内容或一个由随机数字和a-z字符组成的字符串,无论大小写如何。

答案 3 :(得分:0)

这意味着: 仅包含(拉丁字母或数字)0次或更多次的行。

答案 4 :(得分:0)

*应适用于[a-zA-Z0-9]$应该表示行尾或输入结束,所以基本上整个字符串应该由小写和大写字母以及数字组成。