人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

"hoge hoge,fuga fuga"
のような文字列があり、このなかに
"hoge hoge"
という文字があるかどうかの判定をしたいのですが、どのような正規表現を用いたらよいのでしょうか。
"hoge"ではマッチせず、"hoge hoge"でマッチしてほしいのですが、できるのでしょうか。
このやり方ややり方を紹介したサイトを教えてください。

phpでmysqlに対するsqlでREGEXPを使っています。
よろしくお願いします。

●質問者: nori_0000
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:hoge MySQL PHP regexp SQL
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● b-wind
●35ポイント

逆なら面倒ですが、このマッチはそれほど難しくありません。

SELECT 'hoge hoge,fuga fuga' REGEXP 'hoge hoge';

この程度なら、LIKE の方が汎用性はあるかもしれません。

SELECT 'hoge hoge,fuga fuga' LIKE '%hoge hoge%';
◎質問者からの返答

ご回答ありがとうございます。

'hoge'で一致してしまうとまずいのですが、大丈夫なのでしょうか?

例えば、"dragonquest 2, hoge"という文字列があった場合、"dragonquest"では一致せず、"dragonquest 2"で一致してほしいのです。

カンマを区切りとしたワードの完全一致とでも言えばよいのでしょうか…

説明が悪くてすみません。


2 ● b-wind
●35ポイント ベストアンサー

例えば、"dragonquest 2, hoge"という文字列があった場合、"dragonquest"では一致せず、"dragonquest 2"で一致してほしいのです。

失礼ですが、検索エンジンのキーワード処理とごっちゃになっていませんか?

SELECT 'dragonquest 2, hoge' REGEXP 'dragonquest 2';

は1(真)が返ってきますが、

SELECT 'dragonquest, hoge' REGEXP 'dragonquest 2';

は0(偽)が返ってきます。


mysql クライアントや phpMyAdmin で色々試してみると良いかと思います。

◎質問者からの返答

> 失礼ですが、検索エンジンのキーワード処理とごっちゃになっていませんか?

SQLや正規表現の本を読んでいますが、正直こんがらがってきています…

>mysql クライアントや phpMyAdmin で色々試してみると良いかと思います。

phpMyAdminで試せたんですね、知りませんでした。これで色々試して頭の整理でもしようと思います。

ありがとうございました!

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ