No momento, estou programando um algoritmo de vocabulário que verifica se um usuário digitou a palavra corretamente. Eu tenho a seguinte situação: A solução correta para a palavra seria "parte1, parte2". O usuário deve poder inserir "parte1" (resposta 1), "parte2" (resposta 2) ou "parte1, parte2" (resposta 3). Agora, tento corresponder a sequência fornecida pelo usuário com a seguinte expressão de regex criada automaticamente:
^(part1|part2)$
Isso retorna as respostas 1 e 2 apenas como corretas, enquanto a resposta 3 estaria errada. Agora estou me perguntando se existe um operador semelhante ao | isso diz em and/or
vez de either...or
.
Alguém pode me ajudar a resolver esse problema?
$or
correspondência de mongodb regex #Respostas:
Eu vou assumir que você deseja criar um regex dinamicamente para conter outras palavras além de parte1 e parte2, e que você deseja que a ordem não seja importante. Nesse caso, você pode usar algo como isto:
Correspondências positivas:
Correspondências negativas:
fonte
funciona?
fonte
Isso funciona sem alternância?
ou por que não isso?
O primeiro funciona para todas as condições, o segundo para todos, exceto
part2
(usando o GNU sed 4.1.5)fonte
Não é um especialista em regex, mas você pode fazer
^((part1|part2)|(part1, part2))$
. Em palavras: "parte 1 ou parte2 ou ambos"fonte
Ou você pode usar isso:
fonte