мы можем проверить несколько шаблонов с помощью regex в Java?

я хочу проверить 2 шаблона с помощью regex.

я могу проверить те оба шаблона в то же время (как если (condition1 | condition2) условие).

какая-либо идея?

5
задан Praveen 16 March 2010 в 18:49
поделиться

2 ответа

Вы можете сделать это точно так же, как и вы, с вертикальной чертой, разделяющей два выражения +

Например: регулярное выражение (abc) | (def) будет соответствовать abc OR def

12
ответ дан 18 December 2019 в 10:44
поделиться

Это действительно зависит, а именно, вы можете создать свое регулярное выражение с модификаторами «или», подобными этому «(сопоставить это) | (или это)» . Если вы используете тщательно разработанное регулярное выражение, вам нужно сделать это только:

Pattern p1 = Pattern.compile(regex)
Matcher m = p1.matcher(searchstring)

Один раз. Это, вероятно, наиболее эффективный способ решения проблем. Другой вариант - запустить две пары объектов сопоставления / шаблона, выполнить операции find до тех пор, пока find не вернет false, чем подсчитать количество выходов. Если они оба> 0, вы в деле. Другой вариант - если вам нужно только одно или несколько совпадений, выполните:

if ( matcher1.find() & matcher2.find() )
{
    ...
}
4
ответ дан 18 December 2019 в 10:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: