正则表达式基础(一)

一、正则表达式简介

        在爬取网页内容时,需要通过某种方法将信息过滤出来,正则表达式(Regular Expression)即为一种常见的手段。相比于其他的方法(css、xpath等)略微繁琐一些,但是正则表达式十分强大,适应性强,匹配速度快。

        正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。

示例:

        假如我们想要取出下例str字符串中的数字,我们可以这样做:首先需要导入python的正则表达式re包。

import re
str = "hello1995lemon"
pattter= re.compile('.*?([0-9].*?)')
result = re.findall(patt1, str)
print (result)

        上面patter中表达式中,等号右边括号的单引号里即为匹配数字的正则表达式。

二、正则表达式语法

        正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为”元字符”)组成的文字模式。模式描述在搜索文本时要匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。
        构造正则表达式需要我们将正则表达式所包含的各种元素按照我们的需求组合起来成为一个完整的表达式,从而完成匹配特定文本。它可以是单个字符、多个字符合集、自付范围或者所有元素的任意组合。

(1)普通字符

        普通字符,顾名思义,没有其他的特殊含义,它们包括所有大写字母A-Z、小写字母a-z、所有数字0-9、标点符号和一些其他符号。

(2)非打印字符

        非打印字符也可以是正则表达式的组成部分。下表列出了表示非打印字符的转义序列:
这里写图片描述

(3)特殊字符

        相对于普通字符,特殊字符通常有其特定的含义,如果我们想要匹配这些特殊字符,需要在这些特殊字符前面加一个’\’,将其转义,从而完成匹配。这些字符包括:
这里写图片描述

(4)限定符

        限定符在正则表达式中起到限定匹配次数的作用。通常来指定正则表达式的某个指定元素必须要出现多少次才能满足匹配。限定符包含以下6种:
这里写图片描述

(5)定位符

        定位符用来描述字符串或者单词的边界。正则表达式的定位符有:
这里写图片描述
注意:定位符与限定符不能一起使用,由于在紧靠换行或者字边界的前面或后面不能有一个以上位置,因此不允许诸如 ^* 之类的表达式。^,$定位符分别对应使用在正则表达式的开头和结尾处。

        常见的正则表达式元素就是这些了,东西虽然不是很多,但是想要写出一组简洁高效的正则表达式,需要对这些概念语法熟稔于心,勤加练习才行。知也无涯,要随时保持学习。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值