信用卡号和详细信息的正则表达式

问题描述

我只有信用卡号码的正则表达式,但我想要之后的号码。
假设我有一个字符串 - "5189410208765027|08|2024|846"。

我希望通过正则表达式进行匹配。我得到的正则表达式只是“5189410208765027”id - “^(?:4[0-9]{12}(?:[0-9]{3})?|[25][1-7][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$

谁能告诉正则表达式匹配整个字符串?

解决方法

您可以使用:

^((?:4[0-9]{12}(?:[0-9]{3})?|[25][1-7][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11}))\|([0-9]+)\|([0-9]+)\|([0-9]+)$

See RegEx Demo

信用卡号将在捕获组 1 中。捕获组 2、3 和 4 将具有接下来的 3 个号码。