このページ
REGEXP を使用してパターン マッチングを行う素晴らしい例があります。REGEXP の問題は、次の文字列と一致しません。- 「ミスター・ジョン」
- 「ジョン博士」
またはさらに: - 「ミスター・ジョン・ドウ」
文字列「John Doe」で
与えられた例のいずれかに肯定的な一致を得るにはどうすればよいですか?
サンプルコードは次のとおりです。
Drop table Names;
CREATE TABLE Names (
first_name VARCHAR(20),
last_name VARCHAR(20)
);
INSERT INTO Names VALUES ('John','Doe');
INSERT INTO Names VALUES ('Sue','Yin');
INSERT INTO Names VALUES ('Diego James', 'Franco');
select * from Names;
/*To find names containing a string */
/*I want this to march John Doe*/
SELECT * FROM Names WHERE first_name REGEXP 'Mr John';
/*This has John misspelled, I want it to match John Doe */
SELECT * FROM Names WHERE first_name REGEXP 'Hohn' AND last_name REGEXP 'Doe';
/*And this would match Diego James Franco*/
SELECT * FROM Names WHERE first_name REGEXP 'Dr Diego' AND last_name REGEXP 'Franco';
-ありがとうございました
更新: 回答ありがとうございます。質問は、正規表現を使用して必要なマッチングを行う方法ではなく、REGEXP に関係なくどのように行うことができるかということです。パターン マッチングの例として REGEXP を使用します。正規表現の明確化に感謝します。