当前位置: 首页> 汽车> 新车 > 看广告挣钱一天300元_电销防封号系统_海南seo_想做电商应该怎么入门

看广告挣钱一天300元_电销防封号系统_海南seo_想做电商应该怎么入门

时间:2025/7/10 2:33:55来源:https://blog.csdn.net/m0_69045813/article/details/144199749 浏览次数: 0次
看广告挣钱一天300元_电销防封号系统_海南seo_想做电商应该怎么入门

今天我们来介绍下正则表达式。
正则表达式在线联系网站
正则表达式(Regular Expression)是一种用于匹配文本模式的工具。它是由普通字符(例如字母、数字)和特殊字符(称为元字符)组成的文本模式描述。通过使用正则表达式,可以快速、灵活地在大量文本中查找、替换符合特定模式的字符串,比如验证用户输入的电子邮件地址、电话号码是否符合格式要求,或者从网页文本中提取特定格式的链接等。

在python中,在正则表达式用re库实现

import re

匹配字符串
  • match()函数

    match(参数1,参数2) 参数2(字符串类型数据)中找参数1(正则表达式)的内容

    如果参数2起始位置匹配不成功,返回None,如果起始位置匹配成功,返回匹配内容。

    import re
    str='哇哈哈,康师傅,白象'
    print(re.match('哇哈哈',str)) 
    print(re.match('白象',str))
    

    在这里插入图片描述

  • search()函数

    search(参数1,参数2) 参数2(字符串类型数据)中满足参数1(正则表达式)的内容

    如果匹配了多个参数1,只返回第一个匹配成功的信息。

    import re
    str='哇哈哈,康师傅,白象,哇哈哈,小米'
    print(re.search('哇哈哈',str))
    

    在这里插入图片描述

  • findall()函数

    findall(参数1,参数2) 参数2(字符串类型数据)中查找满足参数1(正则表达式)的内容

    如果匹配了多个参数1,返回匹配成功的全部信息。

    特别注意:findall()并不返回匹配的位置,只返回匹配的全部内容。

    import re
    str='哇哈哈,康师傅,白象,哇哈哈,小米'
    print(re.findall('哇哈哈',str))
    

    在这里插入图片描述

正则表达式

正则表达式是一种使用特殊符号表示字符串的规则。以下将从字符范围、字符出现的次数以及同一类字符3个方向介绍正则表达式

  • 字符范围
字符含义
[xyz]字符集合。匹配所包含的任意一个字符。
[a-z]字符范围。匹配指定范围内的任意字符。
import re
str='C,C++,Python,Java,C#,Python37'
print(re.search('[y]',str)) #<re.Match object; span=(7, 8), match='y'>
print(re.findall('[0-9]',str))  #['3', '7']
print(re.findall('[n]',str))    #['n', 'n']
print(re.findall('[n][0-9]',str))   #['n3']
  • 字符出现的次数
字符含义
*匹配前面的子表达式任意次
+匹配前面的子表达式一次或多次
匹配前面的子表达式0次或一次
^匹配输入行首
$匹配输入行尾
{n}匹配n次,n为非负整数。
{n,}至少匹配n次,n为非负整数。
{n,m}最少匹配n次,最多匹配m次。n和m均为非负整数。
import re
str='fe34h24u56n3h5j6n5j4k23456'
#匹配正则表达式中前面为a~z范围内连续出现任意次的字符,倒数第二个字符是数字,倒数第一个字符是a~z的字母。
print(re.findall('[a-z][0-9]*[a-z]',str))   #['fe', 'h24u', 'n3h', 'j6n', 'j4k']

验证手机号的正确性手机号码以1开头,且一共有11位数字

import re
phone_num=input("请输入您的手机号:")
result=re.findall('^1[0-9]{10}$',phone_num)
print(result)

验证QQ号码是否合规QQ号码的位数为5~11位,第一个数字不能为0

import re
QQ_number=input("请输入您的QQ号:")
result=re.findall('[1-9][0-9]{4,10}$',QQ_number)
print(result)
  • 同一类字符
字符含义
\d匹配一个数字类字符,等价于[0-9]
\D匹配一个非数字类字符,等价于[^0-9]
\s匹配任何不可见字符,等价于[\f\n\r\t\v]
\S匹配任何可见字符,等价于[\f\n\r\t\v]
\w匹配包括下划线任何单词字符,等价于[A-Za-z0-9_]
\W匹配不包括下划线任何单词字符,等价于[^A-Za-z0-9_]
\b匹配一个单词的边界,即单词中与空格邻接的字符
\B匹配非单词边界
\f匹配一个分页符
\n匹配一个换行符
\r匹配一个回车符
\t匹配一个制表符
\v匹配一个垂直制表符
.匹配除\n\r之外的任何单个字符
贪婪和非贪婪模
  • 贪婪模式

    匹配形式是尝试匹配尽可能多的字符。默认匹配模式都是贪婪模式。

  • 非贪婪模式

    匹配形式是尝试匹配尽可能多的字符。在次数限制操作符后面加上?可以将匹配模式转换为非贪婪模式。

import re
str='678gdjde923836oc0dv8899v75676d9v0'
print(re.findall('v\d+',str))   #['v8899', 'v75676', 'v0']
print(re.findall('v\d+?',str))  #['v8', 'v7', 'v0']

在这里插入图片描述

或和组
  • 或:用|表示,表示将两个匹配条件进行逻辑或(or)运算。

    import re
    str='flower low lower lowest pow own west'
    #匹配满足'\w+ow'条件或者满足'we\w+'条件的内容。
    #'\w+ow'表示匹配一个或多个单词字符,且后面的字符为ow
    #'we\w+'表示匹配一个或多个单词字符,且前面的字符为we
    result=print(re.findall('\w+ow|we\w+',str))
    #输出为['flow', 'low', 'low', 'low', 'pow', 'west']
    
  • 组:用(表达式)表示,表示将()中的表达式定义为组,并且将匹配这个表达式的字符保存到一个临时区域,一个正则表达式中最多可以保存9个组。

    import re
    str='flower low lower lowest power own west'
    #匹配内容第1个字符是e开始,已知匹配到最后一个字符r,第1组匹配一个或多个除\n\r之外的任何单个字符,默认使用贪婪模式
    #   第2组匹配,一个除\n\r之外的任何单个字符
    result=print(re.findall('e(.+)(.)r',str))
    #输出:[('r low lower lowest pow', 'e')]
    
sub()和compile()方法
  • sub() 将字符进行替换

    sub(参数1,参数2,参数3) 将字符串参数3中所有与参数1匹配的字符串替换为参数2

    import re
    str='678gdjde923836oc0dv8899v75676d9v0'
    print(re.sub('\d','0',str))
    #输出:00gdjde000000oc0dv0000v00000d0v0
    
  • compile()将字符串转换为正则表达式

    compile()创建一个正则表达式对象,可以直接使用正则表达式对象的方法匹配其他内容。

    import re
    str1='2024 12 02 12:00'
    str2=re.compile('\d{2}:\d{2}')
    print(str2)     #re.compile('\\d{2}:\\d{2}')
    print(str2.findall(str1))       #['12:00']
    
关键字:看广告挣钱一天300元_电销防封号系统_海南seo_想做电商应该怎么入门

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: