㈠ python re模块中 (P) (P=name) 及 \g<name> 三者的使用区别
题主你好,
没有单独的(?P)这种用法, 猜测应该指的是(?P<name>), (?P=name),g<name>这三者的用法.
首先说(?P<name>),它其实和单个圆括号,(),本质上一样, 只不过在后面引用分组中多了一种引用方法:
(123)对于这个分组, 你引用时只能是1(这种也是我们最常用的分组与引用的方法),见例子:
=====
希望可以帮到题主, 欢迎追问.
㈡ python 中的问题 关于re模块
importre
str10="."
str10_list=str10.split()
pattern=re.compile(r"(?P<match_word>The)",re.I)#/<match_word>
print("output#39:")
forwordinstr10_list:
ifpattern.search(word):
print("{:s}".format(pattern.search(word).group('match_word')))
这样就对了
㈢ 谁用过python中的re来抓取网页,能否给个例子,谢谢
这是我写的一个非常简单的抓取页面的脚本,作用为获得指定URL的所有链接地址并获取所有链接的标题。
===========geturls.py================
#coding:utf-8
import urllib
import urlparse
import re
import socket
import threading
#定义链接正则
urlre = re.compile(r"href=[\"']?([^ >\"']+)")
titlere = re.compile(r"<title>(.*?)</title>",re.I)
#设置超时时间为10秒
timeout = 10
socket.setdefaulttimeout(timeout)
#定义最高线程数
max = 10
#定义当前线程数
current = 0
def gettitle(url):
global current
try:
content = urllib.urlopen(url).read()
except:
current -= 1
return
if titlere.search(content):
title = titlere.search(content).group(1)
try:
title = title.decode('gbk').encode('utf-8')
except:
title = title
else:
title = "无标题"
print "%s: %s" % (url,title)
current -= 1
return
def geturls(url):
global current,max
ts = []
content = urllib.urlopen(url)
#使用set去重
result = set()
for eachline in content:
if urlre.findall(eachline):
temp = urlre.findall(eachline)
for x in temp:
#如果为站内链接,前面加上url
if not x.startswith("http:"):
x = urlparse.urljoin(url,x)
#不记录js和css文件
if not x.endswith(".js") and not x.endswith(".css"):
result.add(x)
threads = []
for url in result:
t = threading.Thread(target=gettitle,args=(url,))
threads.append(t)
i = 0
while i < len(threads):
if current < max:
threads[i].start()
i += 1
current += 1
else:
pass
geturls("http://www..com")
使用正则表达式(re)只能做到一些比较简单或者机械的功能,如果需要更强大的网页分析功能,请尝试一下beautiful soup或者pyquery,希望能帮到你
㈣ python 的 re模块中如何使用变量代替要匹配的字符串
这么试试:
XH=raw_input("请输入你的手机型号:")
XH_re=re.compile(XH+'.*?¥(d{1,4})</em>',re.DOTALL)
㈤ python中re模块的compile函数应该怎么用
这里面表示的是一个正则表达式语句的啦,http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html
参考这个看看吧
㈥ 关于python的re正则模块
楼上已经发了,我删掉我的回答了
㈦ 在python中模块是个什么概念能用简单的例子说明吗
就是调用别人编好的函数,自己只要知道用法不用知道内容。比如正则表达式模块:re
#!/usr/bin/python
import re
#import之后就可以用了
re0=re.complie(r'asdf')
re0.findall('adsfqwerdgfhdsfasd')
。。。。。