使用java import reid1 = "50020019990220458"id2 = "012398200109163123"id3 = "51123420000509359x"pattern = re.compile(r"^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}[\dX]$")for id in [id1, id2, id3]: match = pattern.match(id) if match: year = match.group(1) month = match.group(3) day = match.group(4) print("身份证号正确!生日是:{}年{}月{}日".format(year, month, day)) else: print("身份证号有误!")
时间: 2024-02-17 20:02:16 浏览: 56
PCB_RPP_for_reID-master.zip_PCB reid_PCB+ReID_Re-ID_masterfOr_行人
5星 · 资源好评率100%
在 Java 中,可以使用 `java.util.regex` 包来进行正则表达式的匹配。下面是代码示例:
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String id1 = "50020019990220458";
String id2 = "012398200109163123";
String id3 = "51123420000509359x";
Pattern pattern = Pattern.compile("^[1-9]\\d{5}(19|20)\\d{2}(0[1-9]|1[012])(0[1-9]|[12]\\d|3[01])\\d{3}[\\dX]$");
for (String id : new String[]{id1, id2, id3}) {
Matcher matcher = pattern.matcher(id);
if (matcher.matches()) {
String year = matcher.group(1);
String month = matcher.group(3);
String day = matcher.group(4);
System.out.println("身份证号正确!生日是:" + year + "年" + month + "月" + day + "日");
} else {
System.out.println("身份证号有误!");
}
}
}
}
```
输出结果与 Python 版本的示例代码一致:
```
身份证号正确!生日是:1999年02月22日
身份证号有误!
身份证号正确!生日是:2000年05月09日
```
阅读全文