您的位置:首页 > 编程语言 > Python开发

python爬虫之正则表达式程序

2018-07-30 18:57 141 查看
# re.match(pattern,string,flags=0)
# pattern:正则表达式
# string:字符串
# flags:匹配模式

# import re
# content = 'hello sdhcjd ajdvqn acdeu akdj   qsdwr 123 456'
# print(len(content))
# result = re.match('hello',content)
# print(result)
# print(result.group())  # 返回匹配结果
# print(result.span())  # 输入匹配结果的范围

# 泛匹配
# import re
# content = 'hello sdancq ancje ncjewcfb cjaaduwe'
# result = re.match('^hello.*',content)  # 使用.*匹配所有
# print(result.group())

# 匹配目标
import re
# content = 'hello 123 ancje ncjewcfb cjaaduwe de'
# result = re.match('^hello\s(\d+)\sancje.*de$', content)
# print(result.group(1))   #数字1表示第一个括号的内容 即123

# 贪婪匹配
# import re
# content = 'hello 123 ancje ncjewcfb cjaaduwe de'
# # result = re.match('^hello.*(\d+)\sancje.*de$', content)
# result = re.match('^hello.*?(\d+)\sancje.*de$', content)    #  $指定结尾
# # 非贪婪匹配:在.*的后面加一个?,匹配尽可能少的括号里的内容
# print(result.group(1))   # 贪婪匹配指括号前面.*的操作,一直匹配到只有一个括号里的内容为止。

# 匹配模式
# import re
# content = 'hello 123 dcj ds jfs'
# reslt = re.match('^hello\s.*?(d+).*$',content,re.S)
# #  因为.*无法匹配换行符,使用re.S则可以匹配换行符

# 匹配特殊字符:使用转义字符\
# import re
# content = 'price is $10'
# result = re.match('^price is \$10',content)
# print(result.group())

# 尽量使用泛匹配和非贪婪模式

# re.search()
# 扫描整个字符串,返回第一个成功匹配的字符串
# import re
# content = 'hello 123 djak 123 fwjgr'
# result = re.search('123',content)
# print(result.group())

# re.findall()
# 返回全部能匹配的字串
# import re
# content = 'hello 123 dsjvo 123 sjdifro'
# result = re.findall('123',content)
# print(result)  #以列表的形式输出
# for r in result:
#     print(r)

# re.sub()
# 替换字符串中每一个匹配的字串后返回替换后的内容

# 将数字换成固定字符
# import re
# content = 'Extra 123 adshua ashdw asdjkef'
# result = re.sub('\d+', 'replace', content)
# print(result)

# re.compile()
# 将正则字符串编译成正则表达式对象,便于复用该匹配对象

import re
# content = 'Hello 1234567 kcdjchv sv'
# pattern = re.compile('Hello.*sv')
# result = re.search(pattern,content)   # 复用匹配模式
# print(result)
# print(result.group())
阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: