⑴ python正则匹配
java">#!/usr/bin/python
#-*-coding:utf-8-*-
importre
s='<liclass="x-left-li">大小: 1018KB <span>|</span></li> <liclass="x-left-lili-cs">下载: 321次 <span>|</span></li> <liclass="x-left-li">格式: .png <span>|</span></li>'
p=re.compile(r'[sS]*大小[:: f x20]+([da-zA-Z]+)[sS]*下载[:: f x20]+(d+)[sS]*格式[:: f x20]+([.a-zA-Zd]+)[sS]*')
prints+" ";
printp.sub(r'1',s)
printp.sub(r'2',s)
printp.sub(r'3',s)
⑵ python正则表达式匹配
import re
print(re.findall(r"[12|22]+3", "123223"))
⑶ 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有对整个文件进行正则表达式匹配的功能么
如果 Eclipse 坚持认为这个服务器还没有启动成功的话 (我们没有从 eclipse 中启动它),我们可以手工做。
也可以写一个简单的 main class 在里面写上一段连接 TCP 端口 localhost:8005 并发送一条 SHUTDOWN 消息的程序,在 Eclipse 中运行这个 main class 就可以了。
⑸ python的正则表达式
1,正则表达式的一些内容
正则表达式主要是用来匹配文本中需要查找的内容,例如在一片文章中找出电话号码,就中国的来说11位纯数字(不说座机),则使用"d{11}" 意味匹配数字11次,就能准确的查找出文本中的电话号码. 还有就是在编写网络爬虫的时候需要提取很多超链接再次进行爬取,使用正则表达式就很方便.直接匹配http开头就行,当然也可以使用beautifulsoup的select方法.
看下面的程序看看正则表达提取文本中的邮箱:
w 匹配字母,数字,下划线
+ 匹配1次或者多次
re是正则表达式的工具包,工具包出错的话在anaconda的命令行输入"pip install re"安装,其他的工具包也是如此.
re.compile()中的r示意不是转义字符,也就是保持后面字符串原样,findall返回一个列表.下面还有一个版本的程序略有不同.
compile的另一个参数re.IGONORECASE(忽略大小写),还可以是re.DORALL,多行模式,具体功能也是模糊不清,不过在使用通配符 . 匹配的时候加上re.DOTALL参数能够匹配换行.如果希望忽略大小写和多行模式都开启可以使用re.compile(r'....',re.IGNORECASE|re.DOTALL) .
表达式使用( ),对匹配到的内容分为3组 也就是(w+)出现字母,数字,下划线一次或多次,这个分组就是下面使用match对象的grou()方法的时候的参数.不给参数和参数0都是得到整个匹配到的内容, 参数1得到第一个括号匹配到的内容,以此类推参数2和3,如果没有括号分组的话使用参数会出现错误.
search( )查找和正则式匹配的内容,只匹一次后面的那个找不到.返回一个match对象
w 匹配字母,数字,下划线
W 匹配字母,数字.下划线之外的所有字符
d 匹配数字
D 匹配非数字
s 匹配空格,制表符,换行符
S匹配除空格制表符,换行符之外的其他字符
[ .... ]定义自己的匹配,如[aeiouAEIOU ]匹配所有的元音字母,注意不是匹配单词.
{最少次数,最多次数},例如{3,9} 匹配3-9次,{ ,10}匹配0-10次. 默认为匹配最多次数(贪心匹配),非贪心模式在后面加上问号
? 可选 0次或者1次吧
+匹配1次或多次
*匹配0次或者多次
^ 判断开头 ^d 如果待匹配串是数字开头则返回第一个数字
$判断结尾 d$ 如果待匹配串是数字结尾则返回最后一个数字
. 通配符,匹配除换行之外的所有字符
d{11} 匹配数字11次
. * 匹配所有字符除 换行
[a-zA-Z0-9._%+-] 小写和大写字母、数字、句点、下划线、百分号、加号或短横
[a-zA-Z]{2,4} 匹配字母 2 - 4次
⑹ python怎么样使用正则表达式匹配用户输入的为文件路径 就譬如像: E:\index.ph
你好:
正则表达式语法:
##总结
##^匹配字符串的开始。
##$匹配字符串的结尾。
##匹配一个单词的边界。
##d匹配任意数字。
##D匹配任意非数字字符。
##x?匹配一个可选的x字符(换言之,它匹配1次或者0次x字符)。
##x*匹配0次或者多次x字符。
##x+匹配1次或者多次x字符。
##x{n,m}匹配x字符,至少n次,至多m次。
##(a|b|c)要么匹配a,要么匹配b,要么匹配c。
##(x)一般情况下表示一个记忆组(rememberedgroup)。你可以利用re.search函数返回对
##象的groups()函数获取它的值。
##正则表达式中的点号通常意味着“匹配任意单字符”
⑺ python 正则匹配
用python正则表达式可以做到,因为点在正则表达式中可以代表任意字符(除回车换行符外)
正则表达式 (-?d+). 替换成 1 (1表示第一捕获组的数据)
完整的Python程序如下
importre
s='-111•485503•剩余部分'
regex=r'(-?d+).'
result=re.sub(regex,r"1 ",s)
print(result)
⑻ 关于python正则匹配的问题
使用pat.findall 匹配整个字符串,多次匹配
使用pat.search 整个字符串中匹配,只匹配一次
使用pat.match 从第一个字符开始匹配,只匹配一次
但是使用search和match必须使用group()来查看
即:你可以这样
result = pat.search(buff)
result.group() #这个就是你相匹配的东西,只匹配一次
⑼ python 正则匹配xml中的文本
importre
str1="<paraValuename="startNum">100</paraValue>"
result=re.search(r'>(.*?)<',str1)
printresult.group(1)
⑽ Python如何正则表达式匹配固定搭配的文本文件名文件名
abc-bh(?:\.\d+)+\.txt