python 关于正则表达式匹配中文的问题

zhenzhu6485 2017-08-03 11:27:08
惭愧啊,之前同时干几件事情,没留意犯了个低级错误,还在反复问,感谢各位帮助了!

新有个关于正则表达式匹配中文的问题

from wxpy import *
import re
bot = Bot(True)

@bot.register()
def auto_reply(msg):
regex=u'[\u4e00-\u9fa5]{0,5}?[\u600e\u4e48|\u5982\u4f55|\u4ed8\u6b3e|u4ed8\u94b1|\u8f6c\u8d26]?[\u4e00-\u9fa5|\u3000-\u301e\ufe10-\ufe19\ufe30-\ufe44\ufe50-\ufe6b\uff01-\uffee]{0,3}'
regex1=u'[\u4e00-\u9fa5]{0,5}'
#正则表达式末尾以\Z结束
if re.match(regex, msg):
return '可通过支付宝'.format(msg.text, msg.type)
elif re.match(regex1, msg):
return '测试成功'.format(msg.text, msg.type)
#else if:
# do_anotherthing()


用来识别中文语句自动回复的,之前没试过中文的正则,但上面regex和regex1都不能正常识别,甚至我用[你好]都不行, regex我更是改了又改,换()变分组什么的,各种改都没用。

求教啊,哪里不对?
相关的中文语句匹配网上又查不到什么内容,想找点有关的代码看看也没找到,多数是什么中文分词、数据挖掘之类的
...全文
486 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
chuifengde 2017-08-04
  • 打赏
  • 举报
回复
zhenzhu6485 2017-08-04
  • 打赏
  • 举报
回复
引用 5 楼 chuifengde 的回复:
[quote=引用 3 楼 zhenzhu6485 的回复:] [quote=引用 2 楼 chuifengde 的回复:] 象不少的字符gbk都没有,要在gb18030中才有
python不是默认unicode么?我的是python3.6 感觉是其他地方错了,单用‘[\u4e00]'都无法识别[/quote] 前面的单引号写错了,要这样'[\u4e00]'[/quote] 代码里没问题,帖子里手抖了下
chuifengde 2017-08-04
  • 打赏
  • 举报
回复
引用 3 楼 zhenzhu6485 的回复:
[quote=引用 2 楼 chuifengde 的回复:] 象不少的字符gbk都没有,要在gb18030中才有
python不是默认unicode么?我的是python3.6 感觉是其他地方错了,单用‘[\u4e00]'都无法识别[/quote] 前面的单引号写错了,要这样'[\u4e00]'
zhenzhu6485 2017-08-04
  • 打赏
  • 举报
回复
引用 1 楼 chuifengde 的回复:
匹不匹配看你的字符集支不支持 regex=u'[\u4e00-\u9fa5]{0,5}?[\u600e\u4e48|\u5982\u4f55|\u4ed8\u6b3e|\u4ed8\u94b1|\u8f6c\u8d26]?[\u4e00-\u9fa5|\u3001-\u301e\ufe10-\ufe19\ufe30-\ufe44\ufe50-\ufe6b\uff01-\uffee]{0,3}' '[一-龥]{0,5}?[怎么|如何|付款|付钱|转账]?[一-龥|、-〞︐-︙︰-﹄﹐-﹫!-○]{0,3}'
无语了,刚把我的正则语句单独放一边运行,竟然完全正常。。。求教,何解
zhenzhu6485 2017-08-04
  • 打赏
  • 举报
回复
引用 2 楼 chuifengde 的回复:
象不少的字符gbk都没有,要在gb18030中才有
python不是默认unicode么?我的是python3.6 感觉是其他地方错了,单用‘[\u4e00]'都无法识别
chuifengde 2017-08-03
  • 打赏
  • 举报
回复
象不少的字符gbk都没有,要在gb18030中才有
chuifengde 2017-08-03
  • 打赏
  • 举报
回复
匹不匹配看你的字符集支不支持 regex=u'[\u4e00-\u9fa5]{0,5}?[\u600e\u4e48|\u5982\u4f55|\u4ed8\u6b3e|\u4ed8\u94b1|\u8f6c\u8d26]?[\u4e00-\u9fa5|\u3001-\u301e\ufe10-\ufe19\ufe30-\ufe44\ufe50-\ufe6b\uff01-\uffee]{0,3}' '[一-龥]{0,5}?[怎么|如何|付款|付钱|转账]?[一-龥|、-〞︐-︙︰-﹄﹐-﹫!-○]{0,3}'

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧