Это действительно зависит, а именно, вы можете создать свое регулярное выражение с помощью модификаторов "или", подобных этому "(match this)|(or this)"
. Если вы используете тщательно разработанное регулярное выражение, вам нужно только сделать это:
Pattern p1 = Pattern.compile(regex)
Matcher m = p1.matcher(searchstring)
Один раз. Это, наверное, самый эффективный способ идти о вещах. Другой вариант состоит в том, чтобы запустить две пары объектов сопоставления / шаблона, выполнять операции find
до тех пор, пока find
не вернет false, а затем подсчитает количество выходов. Если они оба> 0, вы в бизнесе. Другой вариант, если вам нужен только один или несколько совпадений, для:
if ( matcher1.find() & matcher2.find() )
{
...
}