美文网首页分布式爬虫
1、Scrapy分布式爬虫——正则表达式

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

作者: 攻城狮笔记 | 来源:发表于2019-03-09 16:24 被阅读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、非打印字符作为原子

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

  • \n(用于匹配一个换行符)
  • \t (用于匹配一个制表符)
    示例:
import re
pattern = "\n"
str = '''http://www.tbquan.cn
http://www.leiqiankun.com'''
result = re.search(pattern, str)
print(result)
1.1.3、通用字符作为原子

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

  • \w 匹配任意一个字符、数字或者下划线
  • \W 匹配除字母、数字和下划线以外的任意一个字符
  • \d 匹配任意一个十进制数
  • \D 匹配除十进制数以外的任意一个其他字符
  • \s 匹配任意一个空白字符
  • \S 匹配除空白符以外的任意一个其他字符
    示例:
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、元字符:正则表达式中具有一些特殊含义的字符。

  • . 匹配除换行符以外的任意字符
  • ^ 匹配字符串的开始位置
  • $ 匹配字符串的结束位置
    •    匹配0次,1次或者多次前面的原子
      
  • ? 匹配0次或者1次前面的原子
    •   匹配1次或者多次前面的原子
      
  • {n} 前面的原子恰好出现n次
  • {n,} 前面的原子至少出现n次
  • {n,m} 前面的原子至少出现n次,至多出现m次
  • | 模式选择符
  • () 模式单元符
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、实例

相关文章

网友评论

    本文标题:1、Scrapy分布式爬虫——正则表达式

    本文链接:https://www.haomeiwen.com/subject/ifospqtx.html