我有一个包含以下内容的专栏:
+------------+
| name |
+------------+
| 你好世界 |
| HelloWorld |
| Hello世界 |
+------------+
我希望
SELECT `name` FROM `table` WHERE `name` REGEXP '[u4e00-u9fa5]';
只给我一个中文这样的行:
+------------+
| name |
+------------+
| 你好世界 |
+------------+
但它实际上给了我相反的结果:
+------------+
| name |
+------------+
| HelloWorld |
| Hello世界 |
+------------+
我知道:
SELECT `name` FROM `table` WHERE `name` NOT REGEXP '[u4e00-u9fa5]';
可以按预期工作,但我想知道为什么mysql regexp会产生相反的结果?这是默认设置吗?或者我犯了一个错误。提前谢谢。
答案 0 :(得分:0)
如果要检查utf8字符串中是否包含CJK字符:
from operator import itemgetter
from itertools import groupby
data = [75, 78, 100, 101, 102, 109]
for k, g in groupby(enumerate(data), lambda (i,x):i-x):
print map(itemgetter(1), g)
不包括不在" BMP"中的汉字。平面上。