• 单个字符的匹配规则(正则表达式和re模块)


    什么是正则表达式:

    个人对其的理解:按照一定规则,从某个字符串中匹配出想要的数据。

    标准的解释:正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。               -------百度百科

    正则表达式常用的匹配规则:

    匹配某个字符串:

    text = "hello"
    retext = re.match("he",text)
    print(retext.group())

    可以在 text 匹配出 he。

    1.只可以顺着匹配,即若开头不是 he,会报错。

    2. .group()将匹配到的类型转换成可以读文本。


    点(.)匹配任意的字符:

    text = "+hello"
    ret = re.match(".",text)
    print(ret.group())

    匹配出 + 。

    d:匹配任意的数字字符(0-9)

    text = "0+35"
    ret = re.match('d',text)
    print(ret.group())

    D:匹配任意的非数字字符

    text = "+"
    ret = re.match('D',text)
    print(ret.group())

    s:匹配空白字符( , , )

    text = " 
    ab "
    ret = re.match('s',text)
    print(ret.group())

    w:匹配a-z,A-Z,数字以及下划线

    text = 'a'
    ret = re.match('w',text)
    print(ret.group())

    W:匹配到时与w互补的

    text = '++a'
    ret = re.match('W',text)
    print(ret.group())

    [ ]组合的方式:只要满足中括号中的字符,就可以匹配

    text = '0731-8888888'
    ret = re.match('[d-]',text)
    print(ret.group())
    其中 [d-] 表示匹配 d (数字0-9)或者 匹配 -。第二个  表示转义。

      可以用[]表示以上的匹配:
    1).用中括号代替d:
    text = '+09asd+-sad/+'
    ret = re.match('[0-9]',text)
    print(ret.group())
    2).用中括号代替D:
    text = '+09asd+-sad/+'
    ret = re.match('[^0-9]',text)
    print(ret.group())
    3).用中括号代替w:
    text = 'A+09asd+-sad/+'
    ret = re.match('[a-zA-Z0-9_]',text)
    print(ret.group())
    4).用中括号代替W:
    text = '+09asd+-sad/+'
    ret = re.match('[^a-zA-Z0-9_]',text)
    print(ret.group())
    其中 ^ 表示取非符号。
  • 相关阅读:
    vs2008支持ajax extender控件
    ComponentArt控件分析之CallBack(1)
    asp.net控件开发技巧(2)关闭基类不必要的功能
    asp.net控件开发技巧(1)使用HtmlTextWriter类规范输出标签
    开了一论坛,专门讨论控件技术
    出来透个气
    道歉
    Kubuntu 9.10 Karmic Koala 预览
    让Nginx 的URL目录自动加斜线”/”
    Nginx的Rewrite正则表达式,匹配非某单词
  • 原文地址:https://www.cnblogs.com/zyde-2893/p/11184037.html
Copyright © 2020-2023  润新知