正则表达式匹配卡代码输入

kat*_*ate 3 javascript regex

如何根据这些规则编写正则表达式以匹配字符串?

  • 然后是1个字母,后跟4个字母或数字
  • 然后是5个字母或数字
  • 3个字母或数字后跟数字和以下标志之一:!&@?

我需要允许输入为15个字符的字符串或3个5个字符组,由一个空格分隔.

我在JavaScript中实现它.

Viv*_*ath 5

我不会为你写出整个正则表达式,因为这是作业,但这里有一些提示可以帮助你:

  • 使用字符类.[A-Z]匹配全部大写.[a-z]匹配所有小写.[0-9]匹配数字.你可以这样组合它们[A-Za-z0-9].
  • {n}这样使用量词[A-Z]{3}给你3个大写字母.
  • 您可以将其他字符放在字符类中.假设您想匹配%或@或#,您可以执行[%@#]哪些匹配任何这些字符.
  • 一些元字符(在正则表达式的上下文中具有特殊含义的字符)将需要像这样转义:( \$因为$匹配行的结尾)
  • ^并分别$匹配该行的开头和结尾.
  • \s 匹配空白,但如果您清理输入,则不需要使用它.
  • 正则表达式后的标志做特殊的事情.例如/[a-z]/i,i忽略大小写.