python 如何用正则表达式提取 字符串中的中文字符?

比如 想用正则表达式提取 ‘周三下午3、4节英语课’ 中的‘三’‘英语’两个词。用编码什么的搞半天没弄明白,各位请指教!

第1个回答  2015-06-14

根据你的字符规律。。 

做如下判断:

   1、都包含周、节、课这三个字

   2、一、二、三、四、五、六、日  都是一个字

那么代码就是:

追问

非常感谢!如果 原来字符串具体内容未知,只是知道包含 ‘三’ ‘英语’这样的词,应该怎么提取呢?

追答

那么你把所有可能都包含进去呗。。。
一|二|三|四|五|六|日|英语|数学|语文|外语…… 所有可能写完。。。

追问

>>> str = '周三下午3、4节英语课'
>>> import re
>>> re.findall('周(\w).+节(.+)课',str)
[]
抱歉再问一下,我这里匹配不出来,觉得是编码什么的有问题,中文匹配还搞不定。。。你知道怎么回事么?

追答

这就是编码的问题。。 findall有第3个参数。。加上去试试。。

本回答被网友采纳
相似回答