python正则表达式提取
⑴ 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 正则表达式同时提取多个字符内容
那是因为正则表达式r'a(.+?)b|wz's和sd的结果在第一捕获组中,而wz在第0捕获组中,所以你要不然把wz也用小括号括起来r'a(.+?)b|(wz)'这样分别取第一和第局凯二捕获组的数据,要不然你用r'(?<=a).+?(?=b)|wz 前向吵腊亩预搜索(?<=)和后向预搜索(?=)这样没有捕获组升森,结果都在第0捕获组中
完整的两种方法的Python程序如下
#!/usr/bin/python
importre
text='asb,fasdbwz'
u=r'a(.+?)b|(wz)'
result=re.findall(u,text)
foriinrange(0,len(result)):
ifresult[i][0]=='':
print(result[i][1])
else:
print(result[i][0])
运行结果
s
sd
wz
第二种方法
#!/usr/bin/python
importre
text='asb,fasdbwz'
u=r'(?<=a).+?(?=b)|wz'
result=re.findall(u,text)
foriinrange(0,len(result)):
print(result[i])
运行结果
s
sd
wz
⑶ 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怎么用正则表达式提取字符串中的数字和子字符串
Python用正则表达式提取字符串中的数字和子字符串
import re
re.findall("\d+",字符串)
⑸ python 正则表达式re.sub()提取字符串以及去除空格
Python 的re模燃搏塌块提供了re.sub用于替换字符串中的匹配项。
语法:
re.sub(pattern, repl, string, count=0)
参数:
pattern : 正则中的模式字符串。
repl : 替换的字符串,也可为一个函数。
string : 要被查找替换的原始字符串。
count : 模式匹配后替换的最大次数,默认 0 表示替换所有的匹配皮圆。
实例:
注:re.sub(r'[a-zA-Z",:{}]', "", data),银念中括号表示选择其中的任意元素,a-zA-Z表示任意字母。
⑹ python 正则表达式提取字符串
需要注意,你给的例子,来源和/中间是有一个空格的。
⑺ python 正则表达式提取字典中的imUrl的value值
对于你给的字符串,可以被看作一个字典,所以可以按照键值来提取imUrl的value值,也可以用正则表达式提取imUrl的value值.
两种方法我都写出来了,你看看吧,要用哪种方法,你自己决定.(因为回答问题不能出现链接,所以我把imUrl的value值改成了'imUrl链接',意思是一样的)
第一种方法
data={'asin': '0000037214', 'related': {'also_viewed': ['B00JO8II76', 'B00DGN4R1Q', 'B00E1YRI4C']}, 'title': 'Purple Sequin Tiny Dancer Tutu Ballet Dance Fairy Princess Costume Accessory', 'price': 6.99, 'salesRank': {'Clothing': 1233557}, 'imUrl': 'imUrl链接', 'brand': 'Big Dreams','categories': [['Clothing, Shoes & Jewelry', 'Girls'], ['Clothing, Shoes & Jewelry', 'Novelty, Costumes & More', 'Costumes & Accessories', 'More Accessories', 'Kids & Baby']]}
print(data['imUrl'])
源代码(注意源代码的缩进)
⑻ python正则表达式截取一段内容
print(re.findall(r'>(d{1,3}.d{1,3}.d{1,3}.d{1,3})
.*?
(.*?)