无法找出为什么这个正则表达式代码无限运行

时间:2011-10-06 07:02:31

标签: java regex

我刚刚从oracle.com网站复制并进行了一些细微的更改(将控制台更改为System.out)并编译完成。

但是无限运行。

import java.util.regex.Pattern;
import java.util.regex.Matcher;

class RegexTest {

    public static void main(String[] args){

        while (true) {

            Pattern pattern = 
            Pattern.compile("int");

            Matcher matcher = 
            pattern.matcher("int void int mathint");

            boolean found = false;
            while (matcher.find()) {
                System.out.printf("I found the text \"%s\" starting at " +
                   "index %d and ending at index %d.%n",
                    matcher.group(), matcher.start(), matcher.end());
                found = true;
            }
            if(!found){
                System.out.printf("No match found.%n");
            }
        }
    }
}

2 个答案:

答案 0 :(得分:3)

while(true)会一直运行,直到你break;为止。

答案 1 :(得分:2)

嗯,你的代码中有while (true) { - 这可能是一个无限循环:D