如何结合两种正则表达式模式

时间:2019-01-07 03:03:50

标签: c# regex

我有一种模式可以匹配Visa卡,而另一种模式可以匹配万事达卡。如何将这两者结合以匹配Visa和Mastercard?我只需要知道卡号是否与Visa或Mastercard相匹配,否则就不支持。

签证:

^4[0-9]{12}(?:[0-9]{3})?

万事达卡:

/^5[1-5]\d{14}$/

2 个答案:

答案 0 :(得分:1)

只需添加|符号

^(4[0-9]{12}(?:[0-9]{3})?)|(5[1-5]\d{14})$

答案 1 :(得分:0)

关于各种方言中哪些正则表达式可以接受的完整而完整的概述中,有很多资源。他们几乎所有人都使用|(竖线“或”运算符:https://www.regular-expressions.info/alternation.html

^4[0-9]{12}(?:[0-9]{3})?|5[1-5]\d{14}$