2011-06-20 5 views
1

かもしれこれまでのところです:それは「ドレイク」、「ミッシー」と一致しないであろうし、それも「Dr.Dennis」 または「博士デニス」にマッチ以外私が持っているもの</p> <p>.. ..最初の名前のタイトルに一致するようにしようとか、人は、私がセットアップ持っ入力ボックスにタイトルを入力した場合ケースなどの非マッチは私は試合を返さないためにtryign午前

^\s*(?!Dr|Mr|Mrs|Miss|Ms).*?$ 

これは正常に動作します..私はそれが容易になるだろう知っています人のタイトルを逆にしてマッチさせることができますが、他のすべてのマッチが返され、一致しない場合はエラーが出力されるので、私たちはバリデーションルール全体を書き直さなければなりません。

どのように私はこれを行うことができますか?

答えて

3

あなたはこの先

^\s*(?!(?:Dr|Mr|Mrs|Miss|Ms)\b).*?$ 

のようなあなたの否定的な外観にワード境界を追加することができ、それを私が正しくあなたを理解here on Regexr

希望を参照してください。この単語境界\bは、あなたのタイトルの後ろに非単語文字があることを保証します。そのため、Drakeのようなものを無視しません。

(?:)()はどうしたら通常のグループのように、結果として、変数に入れていないあなたのリストからのものを意味し、非キャプチャグループです。

+0

「?:」の説明のために+1 –

+0

ああ..ありがとう!偉大な答えとよく説明した..私はあなたが何をしたのか、そしてなぜ..私はboundriesについて忘れていた.. – Dennis

関連する問題

 関連する問題