• python正则表达式


    re.match()函数只检测RE是不是在string的开始位置匹配
    re.match()只有在0位置匹配成功的话才有返回,如果不是开始位置匹配成功的话,match()就返回none

    # 语法
    # re.match(pattern, string, flags=0)
    # eg_v1 import re match = "https://www.python.org" print (re.match("http",match).span()) # span() 返回一个元组包含匹配 (开始,结束) 的位置 # (0, 4) print (re.match("www",match)) # None

      


    re.search函数会在字符串内查找模式匹配,直到找到第一个匹配然后返回,如果字符串没有匹配,则返回None

    # 语法
    # re.search(pattern, string, flags=0)
    
    # eg_v2
    import re
    
    print (re.search("https","https://www.baidu.com").span())
    # (0, 5)
    print (re.search("baidu","https://www.baidu.com").span())
    # (12, 17)



    re.sub函数,re.sub用于替换字符串中的匹配项
    # 语法:
    # re.sub(pattern, repl, string, count=0, flags=0)
    # 参数:
    # pattern : 正则中的模式字符串。
    # repl : 替换的字符串,也可为一个函数。
    # string : 要被查找替换的原始字符串。
    # count : 模式匹配后替换的最大次数,默认 0 表示替换所有的匹配。
    
    # eg_v3
    import re
    txt = "A man is known by the silence he keeps"
    print (re.sub(r"s+","_",txt))
    # A_man_is_known_by_the_silence_he_keeps


    re.compile 函数,把正则表达式编译成一个正则表达式对象
    # 语法
    # re.compile(pattern, flags=0)
    
    # eg_v4
    import re
    tsxt = "Happiness is in the doing, right? Not in the getting what you want."
    regex = re.compile(r"w*dow*")
    print (regex.findall(tsxt))  #查找所有包含'do'的单词
    # ['doing']
    print (regex.sub(lambda m: "[" + m.group(0) + "]",tsxt))  #将字符串中含有'do'的单词用[]括起来
    # Happiness is in the [doing], right? Not in the getting what you want.
    

      

  • 相关阅读:
    js数组删除数组元素!
    ASP.NET安全问题--ASP.NET安全架构
    片滚动插件myScroll
    JS 回车提交,兼容IE、火狐、Opera、Chrome、Safari
    poj_2386_dfs
    poj_1852_Ants(复杂问题简单化)
    File Mapping
    Creating a File View
    next_permutation
    Creating a File Mapping Object
  • 原文地址:https://www.cnblogs.com/xieshengsen/p/6727078.html
Copyright © 2020-2023  润新知