㈠ python正则如何匹配两位数,如“123456 8888 36”,如何匹配出“36”这两位数
按照你的要求用正则匹配两位数的Python程序如下
import re
s="123456 8888 36"
regex=r'd{2}'
temp=re.compile(regex)
print(temp.findall(s))
㈡ 请问这里的数据如何用Python的正则表达式匹配出来(或者其他更简便方法)
#-*-coding:utf-8-*-
importre
s=u'[{"timestamp":1462590135,"rawXML":"<TimelineObject><id><![CDATA[12269095309121622313]]></id><username><![CDATA[xxxxxx123]]></username><createTime><![CDATA[1462590135]]></createTime><contentDescShowType>0</contentDescShowType><contentDescScene>4</contentDescScene><private><![CDATA[0]]></private><contentDesc><![CDATA[是正解]]></contentDesc><contentattr><![CDATA[0]]></contentattr><sourceUserName></sourceUserName><sourceNickName></sourceNickName><statisticsData></statisticsData><locationpoiClickableStatus="0"poiClassifyType="0"longitude="0.0"latitude="0.0"poiScale="0"poiName=""poiClassifyId=""poiAddress=""city=""></location><ContentObject><contentStyle><![CDATA[3]]></contentStyle><title><![CDATA[婚姻中遇到真爱,要不要离婚?]]></title><description><![CDATA[婚姻中遇到真爱应该离婚吗? 真的有灵魂伴侣吗? 如何判断一个人适不适合成为自己的伴侣?]]></description><contentUrl><!'
m=re.compile('<username>(.*)<\/username>')
printre.search(m,s).groups()[0]
输出>>>
<![CDATA[xxxxxx123]]>
注意:及/为正则表达式中特殊符号,需要转义才可用。
㈢ python正则表达式怎么匹配多个数字
1. 首先 p.search(s) 只会找第一个匹配的字符串
2. 其次 p.findall(s) 会记录匹配的组,而(19|20) 代表一个组,应该改成(?:19|20)
以下代码可以满足你的要求:
# -*- coding: utf-8 -*-
from __future__ import print_function, division
import re
s = 'ID: 042 SEX: M DOB: 1967-08-17 Status: Active 1968'
p = re.compile(r'(?:19|20)\d{2}')
#s = 'ID: 042 SEX: M DOB: 1967-08-17 Status: Active 1968'
all_items = re.findall(p,s)
map(print, all_items)
print(all_items)
㈣ python 正则表达式,怎样匹配以某个字符串开头,以某个字符串结尾的情况
python正则匹配以xx开头以xx结尾的单词的步骤:
1、假设需要匹配的字符串为:site sea sue sweet see case sse ssee loses需要匹配的为以s开头以e结尾的单词。正确的正则式为:sS*?e
2、使用python中re.findall函数表示匹配字符串中所有的可能选项,re是python里的正则表达式模块。findall是其中一个方法,用来按照提供的正则表达式,去匹配文本中的所有符合条件的字符串。
3、代码和结果如下:
text ='site sea sue sweet see case sse ssee loses'
re.findall(r'sS*?e',text)
结果为:['site', 'sue', 'see', 'sse', 'ssee']
(4)python正则匹配浮点数扩展阅读:
python正则匹配,以某某开头某某结尾的最长子串匹配
代码如下:
regVersions = re.search(r'(V|v)[0-9].*[0-9]', filename)
if regVersions:
print regVersions.group()
㈤ python中如何批量替换字母+数字为浮点数或整数类型
给你个思路:
1. 通过正则表达式,来提取你要求的数据,前面两个字母,后四位数字。
2. 对提取的数据进行分离出字母和数字两部分。
3. 将提取的数字部分进行转换
4. 然后在将字母和转换后的数字进行拼接,这步可有可无。。。
当然还有个简单的方法,上面的思路是清晰的,但是相对来说是繁琐的,比较low。
希望能帮到你。。。。。。
㈥ Python正则表达式的几种匹配方法
1.测试正则表达式是否匹配字符串的全部或部分
regex=ur"" #正则表达式
if re.search(regex, subject):
do_something()
else:
do_anotherthing()
2.测试正则表达式是否匹配整个字符串
regex=ur"/Z" #正则表达式末尾以/Z结束
if re.match(regex, subject):
do_something()
else:
do_anotherthing()
3.创建一个匹配对象,然后通过该对象获得匹配细节(Create an object with details about how the regex matches (part of) a string)
regex=ur"" #正则表达式
match = re.search(regex, subject)
if match:
# match start: match.start()
# match end (exclusive): atch.end()
# matched text: match.group()
do_something()
else:
do_anotherthing()
4.获取正则表达式所匹配的子串(Get the part of a string matched by the regex)
regex=ur"" #正则表达式
match = re.search(regex, subject)
if match:
result = match.group()
else:
result = ""
㈦ Python 基础教程 第10章,正则表达式匹配问题
importre
a=re.compile(r'[(.+?)]')
scope={}
defreplace(ddd):
code=ddd.group(1)
try:
returnstr(eval(code,scope))
exceptSyntaxError:
exec(code,scope)
returncode
print(a.sub(replace,'[x=1],[y=2],[z=2],thesumof[x],[z]and[y]is[x+y+z]'))
scope是在全局变量里保存正则匹配出来的x,y,z变量,存到全局变量里去;
这本书的案例在except SyntaxError:后面少了点代码,只提供注释,前面其实已经提到用exec赋值了,只是代码里没有体现出来,我完善了下这个应该能看懂了,还有[],正则已经把[]替换掉了,换成x,y,z对应的值