如何在Python中实现详细的REGEX

如何在Python中实现详细的REGEX,第1张

如何在Python中实现详细的REGEX
  • 在定义正则表达式模式时使用原始字符串文字是一个好习惯。许多正则表达式模式使用反斜杠,并且使用原始字符串文字将使您可以编写单个反斜杠,而不必担心Python是否会将您的反斜杠解释为具有不同的含义(在这种情况下,必须使用两个反斜杠) )。

  • b?
    无效的正则表达式。这就是说0或1个字的边界。但是,要么您有单词边界,要么没有单词边界。如果您有单词边界,那么您就有1个单词边界。如果没有单词边界,那么您的单词边界为0。因此
    b?
    (如果它是有效的正则表达式)将始终为真。

  • 正则表达式区分字符串的结尾和行的结尾。(一个字符串可以包含多行。)

    • A
      匹配字符串的开头。
    • Z
      仅匹配字符串的结尾。
    • $
      在re.MULTILINE模式下匹配字符串的结尾,也匹配行的结尾。
    • ^
      匹配字符串的开头,并且在re.MULTILINE模式下也匹配行的开头。

import reverbose_item_pattern = re.compile(r"""    $ # end of line boundary    s{1,2}      # 1-or-2 whitespace character, including the newline    I # a capital I    [tT][eE][mM] # one character from each of the three sets this allows for unknown case    s+          # 1-or-more whitespaces INCLUDING newline    d{1,2}      # 1-or-2 digits    [.]?         # 0-or-1 literal .    (?          # 0-or-1 literal open paren    [a-e]?       # 0-or-1 letter in the range a-e    )?          # 0-or-1 closing paren    .*# any number of unknown characters so we can have words and punctuation    [^0-9]       # anything but [0-9]    $ # end of line boundary    """, re.VERBOSE|re.MULTILINE)x = verbose_item_pattern.search(""" Item 1.0(a) foo bar""")print(x)

产量

<_sre.SRE_Match object at 0xb76dd020>

(表示匹配)



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5632122.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存