Java 正则表达式提取文本中的身份证号码
Java 可以使用正则表达式来提取文本中的身份证号码。具体实现方法如下:
- 定义一个正则表达式,用于匹配身份证号码。身份证号码的正则表达式如下:
'\d{17}[\d|x|X]|\d{15}'
- 使用 Java 中的 Pattern 和 Matcher 类进行匹配。代码如下:
String text = '这是一段包含身份证号码的文本。身份证号码是:330122198702013453。';
Pattern pattern = Pattern.compile('\d{17}[\d|x|X]|\d{15}');
Matcher matcher = pattern.matcher(text);
if (matcher.find()) {
String idCard = matcher.group();
System.out.println('提取到的身份证号码为:' + idCard);
}
-
在上面的代码中,首先定义了一个包含身份证号码的文本。然后,使用 Pattern 类的 compile 方法编译正则表达式,得到一个 Pattern 对象。接着,使用 Matcher 类的 matcher 方法对文本进行匹配,得到一个 Matcher 对象。最后,使用 Matcher 对象的 find 和 group 方法提取匹配到的身份证号码。
-
如果文本中包含多个身份证号码,可以使用 while 循环进行遍历,依次提取每一个身份证号码。完整代码如下:
String text = '这是一段包含多个身份证号码的文本。身份证号码分别是:330122198702013453,330122198712013454。';
Pattern pattern = Pattern.compile('\d{17}[\d|x|X]|\d{15}');
Matcher matcher = pattern.matcher(text);
while (matcher.find()) {
String idCard = matcher.group();
System.out.println('提取到的身份证号码为:' + idCard);
}
原文地址: https://www.cveoy.top/t/topic/oFen 著作权归作者所有。请勿转载和采集!