java - 如何使用正则表达式模式检查字符串中每 12 个字符应该是 , ?

标签 java regex

嗨,我想使用 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/

相关文章:

regex - XSD 架构中的正则表达式 : mix and max size of two combined elements

Java对象赋值行为不一致?

java - SimpleDateFormat 解析错误的时间

regex - Postgres 使用 regexp_replace 匹配某个位置的字符并替换

python - 使用正则表达式提取某些短语,但排除后跟单词 "of"的短语

php - 如何使 Laravel 中的路由不区分大小写?

Java Jersey Web资源编码

java - 将 FormFile 转换为 Java.io.File

java - 我如何用不同的方法写这个?

php - 语法错误或访问冲突 : 1139 Got error 'empty (sub)expression' from regexp