"hoge hoge,fuga fuga"

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

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

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2007/01/08 19:02:32
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:b-wind No.2

回答回数3344ベストアンサー獲得回数440

ポイント35pt

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

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

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

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

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

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


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

id:nori_0000

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

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

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

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

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

2007/01/08 19:01:54

その他の回答1件)

id:b-wind No.1

回答回数3344ベストアンサー獲得回数440

ポイント35pt

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

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

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

SELECT 'hoge hoge,fuga fuga' LIKE '%hoge hoge%';
id:nori_0000

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

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

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

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

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

2007/01/08 15:11:01
id:b-wind No.2

回答回数3344ベストアンサー獲得回数440ここでベストアンサー

ポイント35pt

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

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

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

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

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

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


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

id:nori_0000

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

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

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

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

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

2007/01/08 19:01:54
  • id:rafile
    SQLはよくしらんが、^hoge hoge,と,hoge hoge,と,hoge hoge$にマッチさせればよいんでは?

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません