如图所示,我试图使用正则表达式查询title中含有日文平假名和片假名的数据。
但是除了预期的数据,还会查到不含平假名及片假名的数据。
反过来使用not REGEXP查询不含平假名和片假名的title,只能查找到仅有英文+数字的数据。
另外,我把不含平假名和片假名的title复制出来,使用其他工具(如sublime text)进行正则表达式匹配,则不能匹配到平假名和片假名。
求问到底该怎么查找?图中的正则表达式是否有错?
如图所示,我试图使用正则表达式查询title中含有日文平假名和片假名的数据。
但是除了预期的数据,还会查到不含平假名及片假名的数据。
反过来使用not REGEXP查询不含平假名和片假名的title,只能查找到仅有英文+数字的数据。
另外,我把不含平假名和片假名的title复制出来,使用其他工具(如sublime text)进行正则表达式匹配,则不能匹配到平假名和片假名。
求问到底该怎么查找?图中的正则表达式是否有错?
奇了怪了,我试下来结果如下:
select "詳" regexp "[ど]"; -- 为真,居然能匹配上
select "詳" regexp "ど"; -- 为假,这个是对的
于是,题主说自己采用过枚举法并且结果还不对,那么只能猜测Mysql可能有bug以至于加中括号就有问题,枚举只能这么来:
select "詳" regexp "ぁ|あ|ぃ|い|ぅ|う|ぇ|え|ぉ|お|か|が|き|ぎ|く|ぐ|け|げ|こ|ご|さ|ざ|し|じ|す|ず|せ|ぜ|そ|ぞ|た|だ|ち|ぢ|っ|つ|づ|て|で|と|ど|な|に|ぬ|ね|の|は|ば|ぱ|ひ|び|ぴ|ふ|ぶ|ぷ|へ|べ|ぺ|ほ|ぼ|ぽ|ま|み|む|め|も|ゃ|や|ゅ|ゆ|ょ|よ|ら|り|る|れ|ろ|ゎ|わ|ゐ|ゑ|を|ん" --片假名题主自己列一下吧
才疏学浅,希望能帮助到你。
3 回答2.5k 阅读✓ 已解决
5 回答1.8k 阅读
3 回答1.6k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
好吧,写了个函数实现了需求。