两个不同的正则表达式合二为一

Nir*_*Nir 3 javascript regex

我想把这个正则表达式放到一个正则表达式中,但现在不知道如何:

/^([0-9]{2,4})\-([0-9]{6,7})$/
/^\*([0-9]{4})$/
Run Code Online (Sandbox Code Playgroud)

所以字符串可以得到XX(XX)-XXXXXX(X)或*XXXX

谢谢.

nin*_*cko 7

合并两个正则表达式,AB执行:

/(A|B)/
Run Code Online (Sandbox Code Playgroud)

这可能会改变一组捕获括号的顺序.另请注意,可能不需要括号,例如A|B可以在您的简单情况下工作.

在支持具有命名捕获的正则表达式的其他语言中,您可以使用它们.

  • 是的,虽然你真的不需要那里的括号; 注意"|"也很重要 运算符比其他运算符更松散地绑定,因此通常需要括号来对表达式的左侧和右侧进行分组. (2认同)