javascript正则表达式为2个可能的值

时间:2017-02-09 23:07:55

标签: javascript regex

我无法想出一个正则表达式来接受两个可能的值。

我想接受%或数字和单位。

例如。 任何百分比在0%和100%之间是可以接受的。 要么 任何整数后跟后缀。 (10 AB,78JB,244 AB)。 只有可能的后缀是(AB,JB,RB,LB,IB)

值必须是一个或另一个(2%OR 10 AB);

我可以使用正则表达式单独执行这些操作,但不知道如何组合成一个。

\d+\s?(AB|JB|RB|LB|IB)?
\d+\s?\%

2 个答案:

答案 0 :(得分:1)

如果您计划"合并"这些模式只能重复\d+部分一次,您可以将%包含在具有字母后缀的交替组中:

/\d+\s?(?:AB|JB|RB|LB|IB|%)/g

(请参阅regex demo除非您需要将后缀与整个单词匹配。在这种情况下,您需要在后缀之后添加单词边界,而不是在%之后:

/\d+\s?(?:(?:AB|JB|RB|LB|IB)\b|%)/g

请参阅regex demo

答案 1 :(得分:0)

看起来你可以在两者之间添加一个OR语句:

\d+\s?(AB|JB|RB|LB|IB)|\d+\s?\%

在行动here中查看。我在'号码单位后删除了?