0

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

以下都是有效字符:

+0123456789BC

有效的字符串是:

+445677BBCC
12345
44556677 etc

基本上规则是:

  • 可以或不可以以 + 开头
  • 后跟一位或多位数字 0-9
  • 后跟零个或多个 B 或 C,顺序不限

目前有:

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

但这并不是我所需要的。

有什么帮助吗?

4

1 回答 1

5

我认为您将不得不转义+, 之后的元字符[BC]需要*用于“零或多个”而不是+一个或多个。你也不需要?最后的,因为没有必要让它成为一个非贪婪的匹配;无论如何,你匹配到字符串的末尾:

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

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

于 2013-07-24T17:28:53.880 回答