我想用java正则表达式实现这个格式12345-1234567-1
我想实现一个巴基斯坦的cnic号码标准格式,如下所示:我想用java正则表达式实现这个格式12345-1234567-1,java,regex,Java,Regex,我想实现一个巴基斯坦的cnic号码标准格式,如下所示:12345-1234567-1 但我对此一无所知。我发现以下代码用于此目的,但它也给出了NetBeans中的错误 private void idSearchKeyPressed(java.awt.event.KeyEvent evt) { String cnicValidator = idSearch.getText(); if (cnicValidator.matches("^[0-9+]{5}-[0-9+]{7}-[0-
12345-1234567-1
但我对此一无所知。我发现以下代码用于此目的,但它也给出了NetBeans中的错误
private void idSearchKeyPressed(java.awt.event.KeyEvent evt) {
String cnicValidator = idSearch.getText();
if (cnicValidator.matches("^[0-9+]{5}-[0-9+]{7}-[0-9]{1}$")) {
idSearch.setEditable(true);
}
else {
idSearch.setEditable(false);
}
}
模式是正确的。但它可以浓缩为:
^[\\d]{5}-[\\d]{7}-\\d$
idSearch
来自哪里?如果它不是类的最后一个成员,您就不能以这种方式访问它。因此,请确保idSearch
在idSearchKeyPressed
中可用。还要确保没有尾随空格或类似的内容。你可以打电话来
cnicValidator = cnicValidator.trim();
以下示例返回两个正则表达式版本的true
public static void main(String... args){
String id = "35241-7236284-4";
System.out.println(id.matches("^[\\d]{5}-[\\d]{7}-\\d$"));
System.out.println(id.matches("^[0-9+]{5}-[0-9+]{7}-[0-9]{1}$"));
}
“它也会在NetBeans中产生错误”您是否有机会告诉我们这是哪个错误?