使用OR运算符

时间:2016-01-19 22:04:46

标签: java regex

在Java中,我有一个匹配常规表达式\\d+[.]\\d+[.]\\d+[.]\\d | \\d+[.]\\d+[.]\\d的匹配器,因为我希望它验证1.1.0.01.1.0之类的内容。但是它不断抛出"Illegal State Exception: No match found"

我知道这是因为我的RegEx不行,但在阅读了示例和文档后,我不知道错误。

已编辑:这是代码中无效的部分。

Matcher versionPattern = Pattern.compile("\\d+[.]\\d+[.]\\d+[.]\\d | \\d+[.]\\d+[.]\\d").matcher(name);

        if(versionPattern.find()){
            int i = 0;  boolean found= false;

            while ( i < listOfExistingFiles.length && !found){
                if(listOfExistingFiles[i].getName().contains(versionPattern.group().toString())){
                    found = true;
                    System.out.println("Running  " + listOfExistingFiles[i].toString());
                    runSqlScriptFrom(listOfExistingFiles[i].toString());
                }
                i++;
            }
            if(!found)
                System.out.println("Could not find the corresponding file. Assuming it is not required." );
        }

这是我不知道如何处理的确切部分versionPattern.find()一直在抛出false

0 个答案:

没有答案