Я думаю, что это всего лишь вопрос OR
использования регулярных выражений. например если у вас есть регулярные выражения [abc]+
и [xyz]+
, вы можете объединить их с (regex1|regex2)
, что: ([abc]+|[xyz]+)
. Добавление большего количества регулярных выражений - это просто добавление дополнительных предложений |
. Таким образом, вам действительно не нужен «генератор», а скорее цикл. Например:
import org.apache.commons.lang.StringUtils;
List<String> regexlist = new ArrayList<String>();
BufferedReader br = new BufferedReader(new FileReader(file));
String line = null;
while ((line = br.readLine()) != null) {
regexlist.add(line);
}
String regex = "(?:" + StringUtils.join(regexlist, "|") + ")";