开发者社区> 问答> 正文

python正则匹配中文的问题:报错

比方说我要匹配某个中文string含有"县"这个字
代码如下:

#!/usr/bin/python
# -*- coding: utf-8 -*-
for i in lines:
	i = i.strip()
	m = re.search(u'\u53bf',i)
	if m:
		print i
但如果添加变成是匹配是以"县"字结尾的中文string,这个时候这个正则该怎么写呢?我试过这样写,但是这种写法是错误的
re.search(u'\u53bf$',i)

展开
收起
kun坤 2020-06-09 11:25:35 498 0
1 条回答
写回答
取消 提交回答
  • 引用来自“kosl90”的答案

    我是新手但是我知道大概原因了,和版本应该没关系的。原因是如果你没导入__future__下的 unicode_literals方法的话,python默认会以ANSCII来编码 list或者dict,这样的话你去做匹配的话就失败了。如果导入了该方法,那么就会以unicode来编码list或者dict,这样的话匹配就可以了,我试了几个版本都是如此。 ######在代码第一行加from __future__ import unicode_literals######

    引用来自“kosl90”的答案

    在代码第一行加from __future__ import unicode_literals
    加了,没用。我不知你是否看懂我的问题 ######回复 @kosl90 : 求代码######我加了好像有用啊###### ######

    引用来自“kosl90”的答案

    晕,可以的。我程序写错了。不用加 from __future__ import unicode_literals也可以的。你试试 ######回复 @kosl90 : 我2.6.6######你是python几?我的是2.7.4好像不加真不行######==我以为不行,是都没事
    2020-06-09 11:25:41
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载