当前位置:首页 » 编程语言 » python正则表达式汉字

python正则表达式汉字

发布时间: 2022-11-04 04:32:48

python怎么用正则表达式提取中文

Python re正则匹配中文,其实非常简单,把中文的unicode字符串转换成utf-8格式就可以了,然后可以在re中随意调用
unicode中中文的编码为/u4e00-/u9fa5,因此正则表达式u”[\u4e00-\u9fa5]+”可以表示一个或者多个中文字符
>>> import re

>>> s='中文:123456aa哈哈哈bbcc'.decode('utf8')
>>> s
u'\u4e2d\u6587\uff1a123456aa\u54c8\u54c8\u54c8bbcc'
>>> print s
中文:123456aa哈哈哈bbcc

>>> re.match(u"[\u4e00-\u9fa5]+",s)
<_sre.SRE_Match object at 0xb77742c0>

>>> pat='中文'.decode("utf8")
>>> re.search(pat,s)
<_sre.SRE_Match object at 0x16a16df0>

>>> newpat='这里是中文内容'.decode("utf8")

>>> news=re.sub(pat,newpat,s)
>>> print news
这里是中文内容:123456aa哈哈哈bbcc

from:http://blog.aizhet.com/web/12078.html

② python怎么用正则表达式提取中文

1、字符串line='ufeffD0002044x01大数据x01数据分析x01技术x01工具x01应用 '
想提取出其中的“大数据”,“数据分析”,“技术”,“工具”,“应用”这些中文,用了正则表达式:
>>>pat2='x01(.*?)'
>>>rs=re.compile(pat2).findall(line)
>>>print(rs)
['','','','','']
显示的结果是空,请问如何才能正确的提出中文部分。

2、原文: 法规名称:'《中华人民共和国合同法》',Items:[{法条名称:'第五十二条'
匹配成: 《中华人民共和国合同法》第五十二条
(?<=法规名称:').*?(',Items:[{法条名称:').*?(?=') 请问这样匹配哪里错了?Python报sre_constants.error: unterminated character set at position 22

3、Python re正则匹配中文,其实非常简单,把中文的unicode字符串转换成utf-8格式就可以了,然后可以在re中随意调用
unicode中中文的编码为/u4e00-/u9fa5,因此正则表达式u”[u4e00-u9fa5]+”可以表示一个或者多个中文字符
>>> import re
>>> s='中文:123456aa哈哈哈bbcc'.decode('utf8')
>>> s
u''
>>> print s
中文:123456aa哈哈哈bbcc 。

③ python,用正则表达式匹配特定汉字

在Python的string前面加上‘r’, 是为了告诉编译器这个string是个raw string,不要转意backslash '\' 。 例如,\n 在raw string中,是两个字符,\和n, 而不会转意为换行符。由于正则表达式和 \ 会有冲突,因此,当一个字符串使用了正则表达式后,最好在前面加上'r'。
在[]中
-长用来指定一个字符集,在这个字符集中的一个可以拿来匹配:[abc] [a-z]
-元字符在在字符集中不起作用
-在[]内用^表示补集,用来匹配不在区间范围内的字符
s=r'aba' 匹配abc
s=r't[io]p' 匹配tip或者top
s=r't[a-z0-9A-Z]'匹配t+0-9或者a-z或者A-Z
[abc]表示“a”或“b”或“c”
[0-9]表示0~9中任意一个数字,等价于[0123456789]
[\u4e00-\u9fa5]表示任意一个汉字
[^a1<]表示除“a”、“1”、“<”外的其它任意一个字符
[^a-z]表示除小写字母外的任意一个字符

④ python正则表达式中要匹配汉字怎么弄

line = "000我是中国人111"
# matchMe = re.match("^[\u4e00-\u9fa5]+")
matchObj = re.match(r'.*([\u4e00-\u9fa5]+).*', line, re.L)
if matchObj:
print "matchObj.group() : ", matchObj.group()
print "matchObj.group(1) : ", matchObj.group(1)
print "matchObj.group(2) : ", matchObj.group(2)

else:
print "No match!!"

⑤ 如何用Python正则表达式去匹配汉字加字母加数字的字符串

# -*- coding: utf-8 -*-
import re
pattern = re.compile(r'[\'白\'\'蓝\'\'绿\'\'黄\']{1}[A-Z]{1}[A-Z0-9]{5}')
match = pattern.match('黄A')
if match:
print "OK"
else:
print "not ok"

⑥ Python用正则表达式截取中文

像这样

#!/usr/bin/envpython
#coding:utf8
importre
l=[
'1.1.2.5查',
'1.2.5询',
'1.5查询',
'1.5.3.4.51规则',
'1.133.2.5询规',
]
r=re.compile(r'd+(.d+)*(.*)')
l=[r.match(e).group(2)foreinl]
print(l)

最后打印的就是

['查','询','查询','规则','询规']

⑦ python正则表达式中\w居然能匹配汉字,请问是怎么一回事

\w匹配的是能组成单词的字符,在python3 中re默认支持的是unicode字符集,当然也支持汉字
如果要让\w仅支持英文,加个re.A标志
print(re.findall(r"\w",s,re.A))
这样就不会匹配汉字了

⑧ Python 求正则表达式匹配中文

#coding=utf-8

importre


string=u"""<代码>书名1【精装版】<代码>
<代码>书名2【豪华版版】<代码>
<代码>书名3<代码>"""

fresult=re.findall(u">(.*?)[【|<]",string)


foriteminfresult:
printitem.encode("utf-8")

⑨ python正则表达式中要匹配汉字怎么弄

这个比较的容易。有一个表达式。给你找一下。

re_han_cut_all=re.compile("([u4E00-u9FD5]+)",re.U)
re_han_detail=re.compile(u"([u4E00-u9FD5]+)")

两个的功能应该是相同的。你需要先将字符串转换成unicode

然后再使用表达式去匹配

⑩ python正则表达式中w居然能匹配汉字,请问是怎么一回事

w匹配的是能组成单词的字符,在python3
中re默认支持的是unicode字符集,当然也支持汉字
如果要让w仅支持英文,加个re.A标志
print(re.findall(r"w",s,re.A))
这样就不会匹配汉字了

热点内容
苏州什么是刀片服务器 发布:2025-01-10 17:08:55 浏览:916
楼宇对讲linux和安卓哪个好 发布:2025-01-10 17:08:53 浏览:630
编程猫电脑版 发布:2025-01-10 17:07:25 浏览:941
上传音乐表 发布:2025-01-10 17:04:52 浏览:166
如何在安卓tv上装当贝市场 发布:2025-01-10 16:59:54 浏览:979
电脑铁电存储 发布:2025-01-10 16:57:19 浏览:464
c语言源程序的基本单位 发布:2025-01-10 16:47:37 浏览:287
王者安卓账号如何换到苹果 发布:2025-01-10 16:34:47 浏览:730
c语言lua 发布:2025-01-10 16:34:46 浏览:208
我的世界检测服务器人员 发布:2025-01-10 16:32:30 浏览:834