首页 > 编程语言 >Python正则表达式学习(4)——re.match() 和 re.search()

Python正则表达式学习(4)——re.match() 和 re.search()

时间:2023-06-06 20:06:04浏览次数:45  
标签:search 匹配 Python re 字符串 正则表达式 match


Python提供了基于正则表达式的两种不同的原始操作:

  • re.match()仅在字符串的开头检查匹配,只有在0位置匹配成功的话才有返回,如果不是开始位置匹配成功的话,match()就返回none。
  • re.search() 检查字符串中任何位置的匹配

例如:

In [2]: re.match("c","absdbdfskdvc")

In [3]: re.search("c","absdbdfskdvc")
Out[3]: <_sre.SRE_Match object; span=(11, 12), match='c'>

'^'开头的正则表达式可以与search()一起使用,以限制字符串开始处的匹配:

>>> re.match("c", "abcdef")    # No match
>>> re.search("^c", "abcdef")  # No match
>>> re.search("^a", "abcdef")  # Match
<_sre.SRE_Match object; span=(0, 1), match='a'>

re.search(pattern,string,flags = 0)
扫描通过字符串查找正则表达式模式产生匹配的第一个位置,并返回相应的匹配对象。 返回None,如果字符串中没有位置匹配模式; 请注意,这不同于在字符串中的某一点找到零长度匹配。

In [7]: re.search("c","absdbdfskdvc").span()
Out[7]: (11, 12)

re.match(pattern,string,flags = 0)
如果字符串开头的零个或多个字符与正则表达式模式匹配,则返回相应的匹配对象。 如果字符串与模式不匹配,返回None; 请注意,这与零长度匹配不同。

In [8]: re.match("c","ccccabsdbdfskdvc").span()
Out[8]: (0, 1)


标签:search,匹配,Python,re,字符串,正则表达式,match
From: https://blog.51cto.com/u_16152603/6427414

相关文章

  • 基于《PythonCookbook》的学习(3)——利用 Shell 通配符做字符串匹配
    fnmatch模块提供了fnmatch()和fnmatchcase()两个函数可以使用通配符模式对文本进行匹配fnmatch所完成的匹配操作有点介乎于加单的字符串方法和全功能的正则表达式之间。感觉蛮鸡肋的…:(......
  • Python正则表达式学习(3)——re.compile()
    re.compile(pattern,flags=0)将正则表达式pattern编译为正则表达式对象,可用于使用其match()和search()方法进行匹配。顺序:prog=re.compile(pattern)result=prog.match(string)等价于:result=re.match(pattern,string)但是当单个程序中的表达式被多次使用时,使用re.comp......
  • 基于《PythonCookbook》的学习(1)——针对任意多的分隔符拆分字符串
    问题:需要将字符串拆分为不同的字段,但是分隔符(以及分隔符之间的空格)在整个字符串中并不一致re.split()方法比str.split()方法更为灵活,可以为分隔符指定多个模式re.split()方法返回一个list目标字符串:In[15]:lineOut[15]:'asdasdsadas,,,,sdfdsfi///ds...ds/essd//s......
  • render_to_string() got an unexpected keyword argument 'context_instance'的解决方
    参考资料:render_to_string()gotanunexpectedkeywordargument‘status’TypeErrorat/post/render_to_response()gotanunexpectedkeywordargument‘context_instance’Djangoerror:render_to_response()gotanunexpectedkeywordargument‘context_instance’......
  • Docker for Windows 中文文档(1)——Explore the application and run examples
    GetstartedwithDockerforWindows欢迎来到DockerforWindows!Docker是用于创建集装箱应用程序的完整开发平台,DockerforWindows是在Windows系统上开始使用Docker的最佳方式。检查DockerEngine,Compose和Machine的版本启动您最喜欢的shell(cmd.exe,PowerShell或其他)来检查docker......
  • pstore
    pstorereferneceLinuxpstore实现自动“抓捕”内核崩溃日志......
  • HttpURLConnection调用webservice,c#、java、python等HTTP调用webservice,简单的webserv
    以前调用webservice一般使用axis、axis2先生成java类后,直接引用,多方便。但是有的webservice接口非常的函数,生成的java类非常多,有没有一种非常简化的方法。axis2有不生成类直接调用的方法,但是QName不容易找,每次查N久不到。有的反馈,使用CXF调用一样方便,但CXF还要使用maven下载jar,而......
  • 【python】threading模块之Semaphore
     threading模块之Semaphoreimportthreadingimporttimeimportrandom#Theoptionalargumentgivestheinitialvaluefortheinternalcounter;#itdefaultsto1.#Ifthevaluegivenislessthan0,ValueErrorisraised.semaphore=threading.Semaphore(0)......
  • Vue——计算属性、监听属性、Vue生命周期、组件介绍和使用、组件间通信、ref属性
    计算属性//1计算属性是基于他们的依赖变量进行缓存的//2计算属性只有在它的相关依赖变量发生改变时才会重新求值,否则不会变(函数只要页面变化,就会重新运算)//3计算属性就像python中的property装饰器,可以把方法/函数伪装成属性//4计算属性,必须有返回值<body><divid......
  • python爬虫------------旅游的地点的爬取和可视化
    选题背景我国旅游行业的极速发展,因为之前疫情原因,使得国内旅游成为新风潮,由于国内疫情控解封,使得中国成为最先开放旅游的国家,本次项目可视化就是分析国内旅游的数据,分析适合出行旅游的时间与地点信息。设计方案 1.向目标网络发送请求   2.获取数据网页源码   3.筛选......