【发布时间】:2013-12-24 02:01:32
【问题描述】:
所以我今天刚刚学习了正则表达式,我们没有接触到这些符号 /s ^ $
我问的原因是,首先我想知道,但我的任务是为所有有效和常见的信用卡编写一个正则表达式,而我坚持的问题是美国运通卡少了 1 位数。并且不知道如何编写正则表达式,因此只有前两位数为 37(仅限美国运通)时,才允许总共 15 位。
然后我发现了这个:
^((4\d{3})|(5[1-5]\d{2})|(6011)|(34\d{1})|(37\d{1}))-?\s?\d{4}-?\s?\d{4}-?\s?\d{4}|3[4,7][\d\s-]{15}$
如果我从 Visa 取一个 WORKING CC 让我们说(16 位数字)并减去一个,它不起作用,但 15 位数字与美国运通一起工作,谁能解释正则表达式中的作用是什么?
【问题讨论】:
-
你read the manual了吗?
-
Read the manual。将正则表达式分解为其最简单的部分。弄清楚每个人做了什么。不要被你面前的大量线路噪音吓倒。没有人能一口消化整个东西。只需将其分解并从最简单的组件开始逐步恢复即可。
-
问题标题和问题正文完全不匹配。标题是关于
\s ^ $的含义,正文是关于验证AMEX卡# -
qwrrty 为什么会出错? \s- 到底是什么意思?
标签: regex credit-card