Как завершить работу Matcher.find (), если она работает слишком долго?

Интересно о методах завершения длительных совпадений регулярных выражений (метод java matcher.find ()). Может быть, создать подкласс Matcher и добавить некоторую логику для завершения после x числа итераций?

В основном я генерирую регулярные выражения, используя генетический алгоритм, поэтому у меня нет большого контроля над ними. Затем я проверяю каждый из них на некотором тексте, чтобы увидеть, соответствуют ли они определенной целевой области текста.

Так как я произвольно генерирую эти регулярные выражения, у меня происходят сумасшедшие вещи, которые съедают тонну процессора, а некоторые вызовы find () требуют времени для завершения. Я лучше просто убью их через некоторое время, но не уверен, как это сделать лучше всего.

Так что если у кого-то есть идеи, дайте мне знать.

7
задан Fraggle 19 August 2011 в 18:22
поделиться