gpt4 book ai didi

java - 正则表达式 Java 合并模式

转载 作者:行者123 更新时间:2023-12-01 08:16:15 25 4
gpt4 key购买 nike

我有这三个正则表达式。它们单独工作,但我想将它们合并为一个模式。

regex1 = [0-9]{16}
regex2 = [0-9]{4}[-][0-9]{4}[-][0-9]{4}[-][0-9]{4}
regex3 = [0-9]{4}[ ][0-9]{4}[ ][0-9]{4}[ ][0-9]{4}

我使用这个方法:

Pattern.compile(regex);

哪个是用于合并它们的正则表达式字符串?

最佳答案

您可以使用backreferences :

[0-9]{4}([ -]|)([0-9]{4}\1){2}[0-9]{4}

仅当分隔符全部为全部时才会匹配

  • 空格
  • 连字符
  • 空白

\1 表示“这与第一个 capturing group(括号中的表达式)完全匹配”。

由于 ([ -]|) 是该组,因此其他两个分隔符必须相同才能匹配模式。

您可以simplify it further至:

\d{4}([ -]|)(\d{4}\1){2}\d{4}

关于java - 正则表达式 Java 合并模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13210463/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com