【发布时间】:2018-03-29 23:04:16
【问题描述】:
我正在尝试为应用程序中的礼品卡号码模式提出一个正则表达式。到目前为止我有这个,它工作正常:
(?:5049\d{12}|6219\d{12}) = 5049123456789012
我需要考虑的是由虚线或空格分隔的数字,如下所示:
5049-1234-5678-9012
5049 1234 5678 9012
我可以将这些模式链接在一起,还是需要为每种类型分开?
【问题讨论】:
标签: regex
我正在尝试为应用程序中的礼品卡号码模式提出一个正则表达式。到目前为止我有这个,它工作正常:
(?:5049\d{12}|6219\d{12}) = 5049123456789012
我需要考虑的是由虚线或空格分隔的数字,如下所示:
5049-1234-5678-9012
5049 1234 5678 9012
我可以将这些模式链接在一起,还是需要为每种类型分开?
【问题讨论】:
标签: regex
最简单最简单的正则表达式可能是:
(?:(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
更详细的解释和示例可以在这里找到:https://regex101.com/r/A46GJp/1/
【讨论】:
【讨论】: