2011-05-28 50 views

回答

5

合并两个正则表达式AB,做到:

/(A|B)/ 

这可能会改变一组捕获括号中的顺序。另外请注意,可能不需要括号,例如A|B可能适用于您的简单情况。

在支持具有命名捕捉的正则表达式的其他语言中,可以使用这些语言。

+2

是虽然你并不真的需要有括号;同样重要的是要注意“|”运算符比大多数其他运算符的绑定更松散,因此对于表达式的左侧和右侧分组通常需要使用括号。 – Pointy 2011-05-28 15:00:36

0

您可以OR-他们:

XX(XX)-XXXXXX(X)|*XXXX 

,这样无论是将匹配...

你麻烦的是,第二个匹配,当你没有得到\ 1($ 1 )和\ 2($ 2)设置...

0

使用| (要么)。

即:

/^([0-9]{2,4})\-([0-9]{6,7})|(\*([0-9]{4})$/