美文网首页
2018-06-18正则分组

2018-06-18正则分组

作者: 菩灵 | 来源:发表于2018-06-19 13:03 被阅读9次

一、描述边界信息:

正则表示边界

^上尖箭头从此开始,$叨乐符号以此结尾。($限定只有相应位数的数字,多出来的话就不能识别)


match方法中上尖箭头和刀了符号

match方法中上尖箭头不是很明显,因为match方法就是从开头开始进行匹配的。

  • vim中$符号,跳到尾部不编辑
  • vim中^箭头,跳到头部不编辑
  • \b要求两端是单词的起始,空格或者结束
    \b尤其要注意,它不代表字符本身,前面的空格无法匹配到,前面的空格可以用“.”来占位:
>>> re.match(r"^\w+ve ", "hover")
>>> re.match(r"^\w+ve", "hover")
<_sre.SRE_Match object; span=(0, 4), match='hove'>
>>> re.match(r"^\w+\bve\b", "ho ve r")
>>> re.match(r"^\w+\bve\b", "ho ve r")
>>> re.match(r"^\w+.\bve\b", "ho ve r")
<_sre.SRE_Match object; span=(0, 5), match='ho ve'>
  • \B必须为非单词边界可以匹配
    必须是非单词边界,字符前面后面必须有字符,不可以是空格
>>> re.match(r"\w+.ve\B", "ho ve r")
>>> re.match(r"\w+.ve\B", "ho ver")
<_sre.SRE_Match object; span=(0, 5), match='ho ve'>

二、匹配分组:

匹配分组
  1. “|”表示的是或的意思
包含三种情况:所有的非0开头二位数|0|100
>>> re.match(r"[1-9]\d?$|0$|100$", "100")
<_sre.SRE_Match object; span=(0, 3), match='100'>
>>> re.match(r"[1-9]\d?$|0$|100$", "200")
>>> re.match(r"[1-9]\d?$|0$|100$", "0")
<_sre.SRE_Match object; span=(0, 1), match='0'>
>>> re.match(r"[1-9]\d?$|0$|100$", "90")
<_sre.SRE_Match object; span=(0, 2), match='90'>
>>> re.match(r"[1-9]\d?$|0$|100$", "75")
<_sre.SRE_Match object; span=(0, 2), match='75'>
>>> re.match(r"[1-9]\d?$|0$|100$", "05")

第二种规则:

>>> re.match(r"[1-9?\d?$|100$]", "0")
<_sre.SRE_Match object; span=(0, 1), match='0'>

[1-9]可以出现也可以不出现,如果不出现的话,后面的\d?也可以匹配到“0”

  1. 分组:需要提取某部分信息,这部分信息就用括号括起来。
    通常来说,“ .* ”表示包含任意多个字符。
>>> re.match(r"<h1>(.*)</h1>", "<h1>匹配分组</h1>")
<_sre.SRE_Match object; span=(0, 13), match='<h1>匹配分组</h1>'>

result.group(m)代表的是匹配出来的全体,理论上是可以接收参数m的,代表的是正则表达式中第m个括号匹配出来的信息。如果m = 0,则是整个匹配出来的信息。

result.groups()拿到所有,放在元组中。

  1. \num引用第num个括号匹配到的字符串
>>> re.match(r"<h1>(.*)</h1>", "<h1>匹配分组</h1>")
<_sre.SRE_Match object; span=(0, 13), match='<h1>匹配分组</h1>'>

相关文章

  • 2018-06-18正则分组

    一、描述边界信息: ^上尖箭头从此开始,$叨乐符号以此结尾。($限定只有相应位数的数字,多出来的话就不能识别) m...

  • eric6的正则技巧

    正则技巧之分组正则技巧之分组

  • 正则:分组

    正则分组作用: 1、改变优先级:2、分组引用 3、分组捕获:正则在捕获的时候,不仅把大正则匹配的内容捕获到,而且还...

  • 正则表达式中常用的方法

    以下讨论建立在正则中没有分组和子项的情况,在正则中有分组和子项时会有些许不同,具体请移步正则表达式中的分组与子项 ...

  • javascript正则表达式----分组捕获

    正则的分组捕获 简单的分组捕获之前在写身份证号正则(不完整)的时候,提到过分组捕获 分组多次捕获假设有这种需求: ...

  • Python Re Group

    python group() 正则表达式中,group()用来提出分组截获的字符串,()用来分组 究其因 正则表达...

  • 2019-05-07python学习记录-搜文本

    正则表达式 添加括号可以在正则表达式中加分组groups() 复数可以一次获得所有分组 | 用管道匹配多个分组? ...

  • 正则表达式进阶

    正则验证工具 regexper.com 1. 正则分组 通过分组$1,$2...取得()里面的匹配的内容 2. 修...

  • 3.正则中()分组的作用

    上一篇:正则中需要注意的[]细节 正则中()分组的作用 改变默认的优先级 分组 捕获 分组的引用 改变优先级let...

  • Django的路由系统

    基本格式 分组命名匹配 在Python的正则表达式中,分组命名正则表达式组的语法是(?Ppattern...

网友评论

      本文标题:2018-06-18正则分组

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