1. ホーム
  2. regex

[解決済み】正規表現におけるAND/OR演算子はどのように表現されますか?

2022-04-02 07:58:51

質問

私は現在、ユーザーが単語を正しく入力したかどうかをチェックする語彙アルゴリズムをプログラミングしています。次のような状況があります。 この単語の正しい解答は "part1, part2" となります。 ユーザーは "part1" (回答1)、 "part2" (回答2)、または "part1, part2" (回答3) を入力できるようにする必要があります。 私は今、自動的に作成された次の正規表現で、ユーザーによって与えられた文字列をマッチさせようとしています。

^(part1|part2)$

これでは、答えの1と2だけが正しく、答えの3は間違いであると返されます。私は今、|に似た演算子で、次のようなものがないかと考えています。 and/or ではなく either...or .

この問題を解決するために、どなたか助けてください。

どのように解決するのですか?

ここでは、part1 と part2 以外の単語を含む正規表現を動的に構築し、順序を気にしないようにしたい場合を想定しています。その場合、次のようなものが使える。

((^|, )(part1|part2|part3))+$

正に一致する。

part1
part2, part1
part1, part2, part3

否定的な一致

part1,           //with and without trailing spaces.
part3, part2, 
otherpart1