嗨,我想使用 java 中的 Matcher 和 Pattern 检查字符串中每 12 个字符中是否应包含一个逗号 ,
。我已经使用了 ^([a-zA-Z0-9\\-?\\,])+$
这种模式不适合我的要求,任何人都可以提供解决方案。
这是我的代码:
package com.ibm.rock;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test{
private Pattern pattern;
private Matcher matcher;
private static final String EMAIL_PATTERN ="^([a-zA-Z0-9]{11},)*[a-zA-Z0-9]{0,11}$";
public Test(){
pattern = Pattern.compile(EMAIL_PATTERN);
}
/**
* Validate hex with regular expression
* @param hex hex for validation
* @return true valid hex, false invalid hex
*/
public boolean validate(final String hex){
System.out.println(hex.length());
String value=hex.trim().replaceAll(" ","");
matcher = pattern.matcher(value);
System.out.println("matcher:"+matcher);
return matcher.matches();
}else{
return false;
}
}
public static void main(String[] args) {
System.out.println("ProjectsValidation::"+new Test().validate("IN-07-00177 , IN-07-00533"));
}
}
最佳答案
如果您只查找每 12 个字符,则可以保持非常简单:
/^(.{11},)*.{0,11}$/
如果您希望第 12 个位置没有逗号除了,请尝试
/^([^,]{11},)*[^,]{0,11}$/
关于java - 如何使用正则表达式模式检查字符串中每 12 个字符应该是 , ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9064460/