Ответ 1
Вы можете делать проверки, используя обходные пути:
^(?=.*\bjack\b)(?=.*\bjames\b).*$
Этот подход имеет то преимущество, что вы можете легко указать несколько условий.
^(?=.*\bjack\b)(?=.*\bjames\b)(?=.*\bjason\b)(?=.*\bjules\b).*$
Мне нужно логическое И в regex.
что-то вроде
jack AND james
согласуются со следующими строками
'hi jack здесь james'
'hi james здесь jack'
Вы можете делать проверки, используя обходные пути:
^(?=.*\bjack\b)(?=.*\bjames\b).*$
Этот подход имеет то преимущество, что вы можете легко указать несколько условий.
^(?=.*\bjack\b)(?=.*\bjames\b)(?=.*\bjason\b)(?=.*\bjules\b).*$
Try:
james.*jack
Если вы хотите оба одновременно, то or
их:
james.*jack|jack.*james
Объяснение команды, которую я собираюсь написать: -
.
означает любой символ, цифра может прийти вместо.
*
означает ноль или более вхождений вещи, написанной как раз перед ней.
|
означает "или".
Так,
james.*jack
будет искать james
, затем любое количество символов, пока не появится jack
.
Так как вы хотите jack.*james
или james.*jack
Отсюда и команда:
jack.*james|james.*jack
Вы можете сделать:
\bjack\b.*\bjames\b|\bjames\b.*\bjack\b
Его короткая и сладкая
(?=.*jack)(?=.*james)