相信很多朋友刚接触到正规这个词,脑子里还没有概念。事实上,我们可以从字面上理解一点。这需要与内容“接触”。由此,我们可以开始本章的主题。
先看后台接收到的一组代码数据,需要定期访问网页内容:
*以下是网页源代码,一个列表(12行),需要获取ID后面的数字和中文内容,保存为文本。
<ul id="iyy_speak">
<li><a href="player.php?type=2&id=46819" target="_blank" >中文内容</a><span class="yy_man"><a href="player.php?type=2&id=46819" target="_blank">试听</a></span></li>
<li><a href="player.php?type=2&id=46818" target="_blank" >中文内容2</a><span class="yy_man"><a href="player.php?type=2&id=46818" target="_blank">试听</a></span></li>
<li><a href="player.php?type=2&id=45717" target="_blank" >中文内容3</a><span class="yy_man"><a href="player.php?type=2&id=45717" target="_blank">试听</a></span></li>
</ul>
代码演示:
#!/usr/bin/env python
#coding=utf-8
import re
string = '''
<ul id="iyy_speak">
<li><a href="player.php?type=2&id=46819" target="_blank" >中文内容</a><span class="yy_man"><a href="player.php?type=2&id=46819" target="_blank">试听</a></span></li>
<li><a href="player.php?type=2&id=46818" target="_blank" >中文内容2</a><span class="yy_man"><a href="player.php?type=2&id=46818" target="_blank">试听</a></span></li>
<li><a href="player.php?type=2&id=45717" target="_blank" >中文内容3</a><span class="yy_man"><a href="player.php?type=2&id=45717" target="_blank">试听</a></span></li>
</ul>
'''
match = re.findall("<li><a href=\"player.php\?type=2\&id=(\d+)\".*?>(.*?)\<",string)
for x,y in match:
print x,y.decode('utf-8')
认识正则表达式:
正则表达式是对字符串进行操作的逻辑公式,相当于“过滤”字符串。
学习一开始可能是懵懂的,但是小编是这样的。后来不断复习,终于学会了。
常用正则表达式:
单字符:
. : 除换行以外所有字符
[] :[aoe] [a-w] 匹配集合中任意一个字符
\d :数字 [0-9]
\D : 非数字
\w :数字、字母、下划线、中文
\W : 非\w
\s :所有空白字符,包括空格、制表符、换页符等。等价于 [ \f\n\r\t\v]。
\S : 非空白
数量修饰:
* : 任意多次 >=0
+ : 至少1次 >=1
? : 可有可无 0次或者1次
{m} :固定m次 hello{3,}
{m,} :至少m次
{m,n} :m-n次
边界:
$ : 以某某结尾
^ : 以某某开头
结合实例介绍和常用的字符,很容易弄清楚这部分内容,更多python实用知识,点击进入
。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ python中如何求三角形的面积?11/22
- ♥ python的主流开发工具有哪些?09/30
- ♥ python sklearn找不到指定的模块10/12
- ♥ Python readline 和 readlines 函数:逐行读取文件10/27
- ♥ Python 和单元测试11/21
- ♥ 如何在python中输入电源09/17
内容反馈