有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

匹配字符串的java模式

我需要验证字符串的格式/顺序如下

LGaaaaaaaaaaYYMMDDnnnnn

要使字符串有效,它必须以字符“LG”开头,后跟10个字符,后跟格式为(YYMMDD)的日期,后跟5位数字

这是我想到的

String patter = ^LG{1}[a-z][A-Z]{10}[0-9]{6}[0-9]{5}
  • 如何检查字符串是否以“LG”开头
  • 如何检查“LG”后面的十个字符是否确实在“LG”后面
  • 如何检查YYMMDD是否为有效日期
  • 如何检查字符串末尾的数字是否正好是5位数字

-- 我可以使用SimpleDataFormat来验证字符串是否为日期

谢谢


共 (2) 个答案

  1. # 1 楼答案

    1. 我认为正则表达式应该更像:LG[a-zA-Z]{10}[0-9]{6}[0-9]{5}
    2. 如果字符串与模式匹配,则使用子字符串提取日期,并使用SimpleDateFormat对其进行解析,以验证它确实是一个好的日期
  2. # 2 楼答案

    这取决于你如何使用它。如果使用Mather.matches方法,那么实际上不需要^,因为它将与整个字符串匹配。如果使用find()方法,那么^