首页 > 编程语言 >python正则表达式之

python正则表达式之

时间:2024-02-22 17:14:06浏览次数:30  
标签:匹配 re python content 正则表达式 result print match

1. Match
从字符串起始位置开始匹配,两个参数(正则表达式,字符串)

  • .*代表匹配前面的字符无限次
content = 'Hello 1234567 World_This is a Regex Demo'
# 通用匹配
result = re.match('^Hello.*Demo$', content)
print(result)
print(result.group())
print(result.span())
  • 贪婪与非贪婪匹配
# 贪婪匹配结果.*尽可能多匹配
result = re.match('^He.*(\d+).*Demo$', content)
# print(result)
# print(result.group(1))
# 非贪婪匹配结果.*?尽可能少匹配
result = re.match('^He.*?(\d+).*Demo$', content)
print(result)
print(result.group(1))
  • 匹配结果在结尾,选择贪婪匹配
    result2 = re.match('http.*?comment/(.*)', cotent)

  • 遇到换行符,加re.S
    result = re.match('^He.*?(\d+).*Demo$', content, re.S)

  • 转义匹配,加
    result = re.match('\(百度\)www\.baidu\.com', content)

2. Search一个
返回第一个匹配的结果,配合(.*?)使用

3. Findall多个(常用)

results = re.findall('<li.*?href="(.*?)".*?singer="(.*?)">(.*?)</a>', html, re.S)
for result in results:
    print(result)
    print(result[0], result[1], result[2])

4. Sub
去掉一些复杂标签,配合findall使用
html = re.sub('<a.*?>|</a>', '', html)

5. Compile
将字符串编译成正则表达式对象,配合复用

标签:匹配,re,python,content,正则表达式,result,print,match
From: https://www.cnblogs.com/hellojacker/p/18027545

相关文章

  • Python处理Word,Excel,PDF
    openpyxl模块处理Excel表安装以下命令意思是:指定D盘下的Python解释器用豆瓣的源安装openpyxl模块D:\PycharmProjects\Study\venv\Scripts\python.exe-mpipinstallopenpyxl-ihttp://pypi.douban.com/simple--trusted-host=pypi.douban.com基本概念openpyxl库有三大模......
  • Python笔记11——函数
    十一、函数函数的作用:提高模块化程度,提高代码重复利用率。11.1定义一个函数一般格式:def函数名(参数列表):函数体以def关键字开头,后接函数标识符名称和圆括号()。所需参数必须都在圆括号中声明。(默认参数值和参数名称是按函数声明中定义的顺序匹配起来的。)函数内容以......
  • python 和shell 变量互相传递
    主要介绍python和shell变量互相传递方法,使用了环境变量、管道等方法。python->shell:1.环境变量importosvar=123或var='123'os.environ['var']=str(var)#environ的键值必须是字符串os.system('echo$var')2.字符串连接importospath='/root/a.txt'var=[1......
  • 第1章 Python入门
    Python介绍·简介Python是一种解释型、面向对象的语言。由吉多·范罗苏姆(GuidovanRossum)于1989年发明,1991年正式公布。官网:www.python.orgPython单词是“大蟒蛇”的意思。但是龟叔不是喜欢蟒蛇才起这个名字,而是正在追剧:英国电视喜剧片《蒙提·派森的飞行马戏团》(MontyPyt......
  • Python数据类型中bytes 与 bytearray
    在Python中,我们可以使用bytes和bytearray两种数据类型来处理二进制数据。bytes是一个不可变的序列类型,而bytearray是一个可变的序列类型。本文将介绍如何使用Python来创建、操作和转换bytes和bytearray。bytes:可以看作是一组二进制数值(0-255)的str序列bytearray:可以看......
  • 如何在python中判断一个字符串是否可以转换为数字
    方法一:isdigit()不可识别汉字小数类型str1='1'str2='2.1'str3='三'str4='3.3.3.3'print(str1.isdigit())print(str2.isdigit())print(str3.isdigit())print(str4.isdigit())结果:TrueFalseFalseFalse方法二:isdecim......
  • python包管理利器poetry和conda使用简介
     #基本信息 conda相对于主流的虚拟环境管理工具,在python开发环境中最大的特点便是“不需要安装python”。但这并不意味着conda不需要python来运行脚本,而是conda不会依赖于系统中已经存在的python进行运行。因此conda拥有较高的独立性以及强悍的跨版本支持......
  • python—unittest—数据驱动ddt
    ddt(datadrivertest)1.介绍ddt其实就是一个装饰器,它会根据你传递进来的数据来决定要生成几个测试用例2.安装pipinstallddt3.使用@ddt:装饰测试类(把具体的类名传递给ddt,告诉ddt这个测试用例要使用数据驱动)@data:装饰测试用例(把测试数据作为一个参数传递给测试用例)@uppac......
  • Python下载安装教程
    1.下载地址官方下载地址:https://www.python.org/downloads/国内镜像地址:https://mirrors.huaweicloud.com/python/,win选择好版本后,不论是Intel还是AMD处理器,都下载amd64.exe版本的安装包;2.安装双击执行.exe文件,勾选添加环境变量选择安装目录:3.检测cmd输入python命令,出现......
  • python写数据到kingbase
     操作kingbase与操作pg一样,需要psycopg2这个包#!/usr/bin/envpython#coding=utf-8importos,json,urllib,datetime,shutilimportpsycopg2importtracebackimporttime##createtabletb_test##(##idbigserialprimarykeynotnull,##name1varchar(32),##n......