原始问题:
java中怎么用正则匹配字符串中是否包含的手机号,身份证号,银行卡号
在Java中,可以使用正则表达式来匹配字符串中是否包含手机号、身份证号和银行卡号。以下是一个示例:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String input = "这是一个包含手机号的字符串:13800138000,这是一个包含身份证号的字符串:123456789012345678,这是一个包含银行卡号的字符串:6228480402564890018";
String regex = "1[3-9]\\d{9}(?:\\d{3})*(?:\\d{4}[-]?\\d{2}[-]?\\d{2}[-]?\\d{2})|1[1-5]\\d{14}|(\\d{12,15})$";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
System.out.println("找到匹配项: " + matcher.group());
}
}
}这个示例中,我们定义了一个正则表达式regex,用于匹配手机号、身份证号和银行卡号。然后使用Pattern和Matcher类来进行匹配。最后,使用while循环遍历所有匹配项并打印出来。
Prev:大学生如何通过多种途径为国家安全贡献力量