Python爬虫正则表达式常用符号及方法

 2024-02-10 00:03:14  阅读 0

爬虫正则表达式常用符号及方法

在语言中,我们经常使用爬虫正则表达式。 在这篇文章中,小编就给大家介绍一下爬虫正则表达式的常用符号和方法,以及具体的用法。 如果您有兴趣,就来看看吧。

正则表达式不属于其中。 正则表达式是处理字符串的强大工具。 它们有自己独特的语法和独立的处理引擎。 它们可能不如 str 自己的方法那么高效,但是它们非常强大。 因此,正则表达式的语法在提供正则表达式的语言中是相同的。 唯一的区别是不同的编程语言实现支持不同数量的语法; 但不用担心,不支持的语法通常是不常用的部分。

1.常用符号

.: 匹配除换行符之外的任何字符\n

:匹配前一个字符0次或无限次

?: 匹配前一个字符0次或1次

.*:贪心算法,匹配尽可能多的字符

.*?: 非贪婪算法

():括号内的数据作为结果返回

2.常用方法

:匹配所有符合规则的内容,并返回包含结果的列表

:匹配并提取第一个符合模式的内容,并返回正则表达式对象

sub:替换符合规则的内容,并返回替换后的值

3. 使用示例

(1) 使用.的示例,匹配除换行符之外的任意字符\n

re #导入re库文件

a = 'xy123'

b = re.('x..',a)

打印b

打印结果为:['xy1'],每个 . 代表一个占位符

(2) 使用*的例子,匹配前一个字符0次或无限次

一个=''

b = re.('x*',a)

打印b

打印结果为:['x', '', 'x', '', '', '', '', '']

(3) 使用?的示例,匹配前面的字符0次或1次

a = 'xy123'

b = re.('x?',a)

打印b

打印结果为:['x', '', '', '', '', '']

(4).*的使用示例

=''

b = re.('xx.*xx',)

打印b

打印结果为:['']

(5).*?使用示例

=''

c = re.('xx.*?xx',)

打印 c

打印结果为:['xxIxx', '', '']

(6) ()的使用示例

=''

d = re.('xx(.*?)xx',)

打印

打印结果为:['我','爱','你'],括号内的数据为返回结果。

(7) re.S的使用示例

s = '''

'''

d = re.('xx(.*?)xx',s,re.S)

打印

打印结果为:['hello\n', 'world']。 re.S的作用是匹配时包含\n。

(8) 使用示例

s2 = 'dfd'

f2 = re.('xx(. ?)(. ?)xx',s2)

打印 f20

打印的结果是:love

此时,f2是一个包含元组的列表。 该元组包含两个元素。 元组中的两个元素是两个()匹配的内容。 如果 s2 包含多个 'xx(. ?)(. ?)xx',则 f2 包含多个元组;

(9) 使用示例

s2 = 'dfd'

f = re.('xx(. ?)(. ?)xx',s2).group(2)

打印 f

打印的结果是:love

.group(2)表示返回第二个括号匹配的内容。 如果是.group(1),则打印的是:I

(10) 使用 sub 的示例

s = ''

= re.sub('123(.*?)123','123%d123'%789,s)

打印

打印的结果是:

%d与C语言中的%d类似。 如果=re.sub('123(.*?)123','',s),输出结果也是:

(11)使用\d匹配数字的例子

a = '5fas'

b = re.('(\d+)',a)

打印b

打印结果为: ['', '555'] ,\d+ 可以匹配数字字符串;

以上是爬虫正则表达式的一些常见符号和语法。 希望对初学者有所帮助。

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码