この1つは私を殺している、私は正規表現の合計noobです。 私はサイト検索を行い、入力されたテキストを データベースのtitles列と比較しようとしています。 基本的に正規表現で達成したいのはLIKE '%word1 word2 word3%'ですが、いくつかの文字列のバリエーションがあります。例えばMySqlユーザ入力から検索するRegexp
:
SELECT * FROMテーブルWHEREうまく
作品 '[AO] RD W' タイトルREGEXP 。それは言葉と病棟を探します。しかし、複数の単語が必要な場合は、何も返しません。
SELECT * FROMテーブルWHEREタイトルREGEXP は 'w [AO] RD秒[または] ND [IO] RD番目の' 私はWordや第二または第三を検索したくない
LIKEの大文字のように、タイトルの中にそれらをすべて入れたいです。
私は、foreach内でユーザが入力した検索文字列を爆発させることを考えていましたが、単語ごとに正規表現を行いますが、すべてのパターンを1つのクエリに連結する方法はわかりません。
編集: 私はutf8_unicode_ci照合テーブルで検索していることを忘れていました。 本当に私は[ccć] orakタイプの検索をしようとしています。
おかげで、これはORをやっている、と私はないと述べますそうする必要があります。 – Doktor83
他にも、 "where regexp '..' OR ...を実行するような他の方法がありますが、それはまだ何らかのOR構文を使用しています。なぜなら、 "これはORのタイプの構文の全体的なポイントです。 –
私はそれを取得しますが、これは1つの正規表現コードで達成できます。 – Doktor83