私は現在、ユーザーが単語を正しく入力したかどうかをチェックする語彙アルゴリズムをプログラミングしています。私は次のような状況にあります。単語の正しい解決策は「part1、part2」です。ユーザーは、「part1」(回答1)、「part2」(回答2)、または「part1、part2」(回答3)のいずれかを入力できる必要があります。次に、ユーザーが指定した文字列を、自動的に作成される次の正規表現と照合します。
^(part1|part2)$
これは正解として回答1と2のみを返しますが、回答3は間違っています。|に似た演算子があるかどうか疑問に思っています。のand/or
代わりに言うeither...or
。
誰かがこの問題を解決するのを手伝ってくれませんか?
1
正規表現は、このための最良の解決策ではない可能性があります。通常の文字列メソッドを使用します。
—
Felix Kling
この問題の仕様は不十分です。正当な文字列のセットに対する正確な文字列比較だけが必要なのに、なぜパターンマッチングを使用するのですか?正規表現コンパイラがPerlのようにO(1)トライ構造の代替案を最適化しない限り、代わりにハッシュメンバーシップに対してテストを行う必要があります。他の正規表現エンジンは、これではあまり賢くありません。
—
tchrist
@tchristユースケースは、mongodb
—
Nadir Abbas
$or
正規表現の一致である可能性があります