分布式爬虫

1、Scrapy分布式爬虫——正则表达式

2019-03-09  本文已影响55人  攻城狮笔记

1.1、原子:正则表达式中最基本的组成单位。常见原子有一下分类:

1.1.1、普通字符作为原子

普通字符如:数字、大小写字母、下划线等都可以作为原子使用。
示例:

import re # 导入模块
pattern = "tbquan" # 普通字符作为原子
str = "http://www.tbquan.cn"
result = re.search(pattern,string) #re模块里面的search()函数
print(result) # 打印匹配的结果
1.1.2、非打印字符作为原子

非打印字符:指的是在字符串中用于格式控制的符号,比如:换行符、制表符等等,常见非打印字符:

import re
pattern = "\n"
str = '''http://www.tbquan.cn
http://www.leiqiankun.com'''
result = re.search(pattern, str)
print(result)
1.1.3、通用字符作为原子

通用字符:即可以匹配一类字符的字符。

import re
pattern = "\w\dtbquan\w"
str = "agdhgahdghstbquan_cn"
result = re.search(pattern, str)
print(result)
1.1.4、原子表

原子表:定义一组平等的原子,然后匹配时会取出该原子表中的任意一个原子进行匹配。原子表使用[]中括号表示,比如[abc]表示一个原子表,正则表达式为[abc]tbquan可以匹配出atbquan,btbquan,ctbquan,而[^abc]则表示除了中括号里面的原子外都可以匹配。
示例:

import re 
pattern1 = "\w\dtbquan[abc]\w"
pattern2 = "\w\dtbquan[^abc]\w"
str = "fsdfdsfsd123tbquanf_t"
result1 = re.search(pattern1, str)
result2 = re.search(pattern, str)
print(result1)
print(result2)

1.2、元字符:正则表达式中具有一些特殊含义的字符。

1.2.1 任意匹配元字符

"." :匹配一个除换行符以外的任意字符。
示例:

import re
pattern = ".tbquan..."
str = "adsasatbquan.cnas"
result = re.search(pattern, str)
print(result)
1.2.2 边界限制元字符

"^"匹配字符串的开始,"$"匹配字符串的结束。
示例:

import re 
pattern1 = "^abc"
pattern2 = "def$"
str = "abcdefghdef"
result1 = re.search(pattern,str)
result2 = re.search(pattern,str)
print(result1)
print(result2)
1.2.3 限定符

常见限定符包括:*、?、+、{n}、{n,}、{n,m}
示例:

import re
1.2.4 模式选择符
1.2.5 模式单元符

1.3、模式修正

1.4、贪婪匹配与非贪婪匹配

1.5、正则表达式函数

1.6、实例

上一篇 下一篇

猜你喜欢

热点阅读