ワイルドカード検索入力を照合しています。それは名前フィールドです。 以下は私がマッチする必要がある条件です。JavaScript RegEx - ワイルドカードを使用する最小文字数
- ユーザーは、少なくとも3つの文字の英数字を入力する必要があり、彼は
- ワイルドカード検索を実行することを選択した場合、ユーザーは/文字列の先頭や末尾にワイルドカードを入力してmaynotかもしれないが、それはどちらかの側にすることができます。
- 単語間にスペースを入れます。
私はマッチする前に文字列をトリミングしていると言いたいと思います。これはこれまで私が試したことです。
- 誰かXXX、誰かのxxx yyyの - - 失敗合格
- 誰か* XXX-
^[^\W_](\s?\w?)*$|^[^\W_]{3,}(\s?\w?)*\*$|^[\*][^\W_]{3,}(\s?\w?)*$
以下は、私が試したいくつかの例があります
- 誰か、誰かから
を渡された。これは私がwant-何の最も近いマッチである。しかし、それはこれらのテストケースのために失敗します。
ABのASFは、* - 私は私を知っている、これはpass-ます失敗する* ABCのASF
を - これは*
* ABのASF ABCのASFをpass-なり、失敗します少なくとも3文字の英数字で始まり、スペースと英数字を繰り返すという条件があります。
ここで私は助けが必要です。
ありがとうございました。
^(?:[^\W_]+|\*[^\W_]{3,}|[^\W_]{3,}\*)(?:\s+(?:[^\W_]+|\*[^\W_]{3,}|[^\W_]{3,}\*))*$
注:
なぜ正規表現ですか?検証関数はここでうまくいくはずです –
正規表現はこれらの状況のためのきれいな解決策であり、私はそれらから学び、stackoverflowコミュニティは常に助けを求めています。 – Lucky
- ccf - 私はあなたの答えを正しいものとしてマークしました。申し訳ありませんが、質問にいくつかの混乱があった場合。 Match and Not matchシナリオを追加するために質問を編集します。 – Lucky