Regex Giftcard数模式

Regex Giftcard数模式,regex,Regex,我正试图为应用程序中的giftcard数字模式提供一个正则表达式。到目前为止,我已经有了这个,而且效果很好: (?:5049\d{12}6219\d{12})=5049123456789012 但我需要说明的是用虚线或空格分隔的数字: 5049-1234-5678-9012 5049123456789012 我可以将这些模式链接在一起,还是需要对每种类型进行单独设置?最简单的正则表达式可以是: (?:(5049|6219)([ -]?\d{4}){3}) Explanation: (5049|

我正试图为应用程序中的giftcard数字模式提供一个正则表达式。到目前为止,我已经有了这个,而且效果很好:

(?:5049\d{12}6219\d{12})
=5049123456789012

但我需要说明的是用虚线或空格分隔的数字:

5049-1234-5678-9012

5049123456789012


我可以将这些模式链接在一起,还是需要对每种类型进行单独设置?

最简单的正则表达式可以是:

(?:(5049|6219)([ -]?\d{4}){3})

Explanation:
(5049|6219) - Will check for the '5049' or '6219' start
(x){3} - Will repeat the (x) 3 times
[ -]? - Will look for " " or "-", ? accepts it once or 0 times
\d{4} - Will look for a digit 4 times

这里可以找到更详细的解释和示例:

最简单的正则表达式可以是:

(?:(5049|6219)([ -]?\d{4}){3})

Explanation:
(5049|6219) - Will check for the '5049' or '6219' start
(x){3} - Will repeat the (x) 3 times
[ -]? - Will look for " " or "-", ? accepts it once or 0 times
\d{4} - Will look for a digit 4 times
这里可以找到更详细的解释和示例:

使用
(?:5049 | 6219)(?:[-]?\d{4}){3}

首先,匹配两条线索中的一条。然后匹配3组,每组4位,每组前面可选空格或破折号

有关演示,请参阅,并进行更详细的解释

如果分隔符是混合的,则上述正则表达式也将匹配,例如
5049 1234-5678 9012
。如果你不想那样,就用

(?:5049 | 6219)([-]?)\d{4}(?:\1\d{4}){2}

这将捕获第一个分隔符(如果有),并指定以下两个组必须使用相同的分隔符。

使用
(?:5049 | 6219)(?:[-]?\d{4}){3}

首先,匹配两条线索中的一条。然后匹配3组,每组4位,每组前面可选空格或破折号

有关演示,请参阅,并进行更详细的解释

如果分隔符是混合的,则上述正则表达式也将匹配,例如
5049 1234-5678 9012
。如果你不想那样,就用

(?:5049 | 6219)([-]?)\d{4}(?:\1\d{4}){2}

这将捕获第一个分隔符(如果有),并指定以下两个组必须使用相同的分隔符。

尝试此操作:

(?:(504|621)9(\d{12}|(\-\d{4}){3}|(\s\d{4}){3}))
试试这个:

(?:(504|621)9(\d{12}|(\-\d{4}){3}|(\s\d{4}){3}))