現在、ユーザーが単語を正しく入力したかどうかを確認する語彙アルゴリズムをプログラミングしています。次のような状況です。単語の正しい答えは「part1、part2」です。ユーザーは「part1」(答え 1)、「part2」(答え 2)、または「part1、part2」(答え 3) のいずれかを入力できる必要があります。次に、ユーザーが入力した文字列を、自動的に作成された次の正規表現と一致させようとします。
^(part1|part2)$
and/or
これは、回答 1 と 2 のみを正解として返し、回答 3 は間違いです。|に似た、 の代わりにという演算子があるかどうか疑問に思っていますeither...or
。
誰かこの問題の解決を手伝ってくれませんか?
ベストアンサー1
ここでは、part1 と part2 以外の単語を含むように正規表現を動的に構築し、順序は関係ないと仮定します。その場合は、次のようなものを使用できます。
((^|, )(part1|part2|part3))+$
肯定的な一致:
part1
part2, part1
part1, part2, part3
否定的な一致:
part1, //with and without trailing spaces.
part3, part2,
otherpart1