Java 将行匹配到多个正则表达式模式

Java 将行匹配到多个正则表达式模式,java,regex,validation,Java,Regex,Validation,我有一个需要验证的文件。该行可以是以下格式之一: <String>:<Number>:<String>:<String> <Number> <String>:<Number>:<String> <Number> <String>:<Number> <Number> <String> <Number> 我感

我有一个需要验证的文件。该行可以是以下格式之一:

<String>:<Number>:<String>:<String>    <Number>
<String>:<Number>:<String>    <Number>
<String>:<Number>    <Number>
<String>    <Number>

我感谢你的反馈。谢谢。

我会将这些模式合并到一个正则表达式中:

Pattern regex = Pattern.compile("<String>(?::<Number>(?::<String>){0,2})?    <Number>");
Pattern regex=Pattern.compile(“(?::(?:){0,2}”);
测试一下

Pattern regex = Pattern.compile("<String>(?::<Number>(?::<String>){0,2})?    <Number>");