В настоящее время я программирую словарный алгоритм, который проверяет, правильно ли пользователь ввел слово. У меня следующая ситуация: правильное решение для слова будет «часть1, часть2». Пользователь должен иметь возможность ввести «part1» (ответ 1), «part2» (ответ 2) или «part1, part2» (ответ 3). Теперь я пытаюсь сопоставить строку, заданную пользователем, со следующим, автоматически созданным выражением регулярного выражения:
^(part1|part2)$
Это только возвращает ответы 1 и 2 как правильные, в то время как ответ 3 будет неправильным. Теперь мне интересно, есть ли оператор, похожий на | что говорит and/or
вместо either...or
.
Может ли кто-нибудь помочь мне решить эту проблему?
$or
регулярным выражением mongodbОтветы:
Я предполагаю, что вы хотите динамически построить регулярное выражение, содержащее другие слова, кроме part1 и part2, и что вы хотите, чтобы порядок не имел значения. Если это так, вы можете использовать что-то вроде этого:
Положительные совпадения:
Отрицательные совпадения:
источник
это работает?
источник
Это работает без чередования?
или почему не это?
Первый работает для всех условий, второй для всех, кроме
part2
(с использованием GNU sed 4.1.5)источник
Не эксперт в регулярных выражениях, но вы можете сделать
^((part1|part2)|(part1, part2))$
. На словах: «часть 1 или часть2 или оба»источник
Или вы можете использовать это:
источник