字母数字正则表达式字符串

时间:2013-07-24 17:26:38

标签: regex

我正在尝试为字母数字字符串编写正则表达式。

以下是所有有效字符:

+0123456789BC

有效字符串是:

+445677BBCC
12345
44556677 etc

基本上规则是:

  • 可能或不是以+
  • 开头
  • 后跟一个或多个数字0-9
  • 按任意顺序跟随零个或多个B或C

目前有:

^\+?[0-9]+[BC]+?$

但这并不是我所需要的。

任何帮助?

1 个答案:

答案 0 :(得分:5)

我认为您必须逃避+,并且[BC]之后的元字符需要*为“零或更多”而不是+更多。你最后也不需要?,因为没有必要把它变成非贪婪的比赛;无论如何你要匹配到字符串的末尾:

/^\+?\d+[BC]*$/

否则,你所拥有的并不是真正有效的正则表达式。开头+没有什么可重复的,^只是字符串开头的锚点。