zoukankan      html  css  js  c++  java
  • python正则表达式

    import re #导入正则模块re

    #re.match 尝试从字符串的开始匹配一个模式

    text = 'jgood is a handsome boy,he is cool , cleber,and so on...'

    m = re.match(r'(w+)s',text)

    #re.search 在字符串内查找模式匹配,只匹配第一个,若无则返回None

    s = re.search(r'shan(ds)omes',text) 

    #re.sub 替换字符串匹配项

    re.sub(r's+','-',text)

    #re.split 分割字符串

    re.split(r's+',text)

    #re.findall 获取字符串所有匹配字符

    re.findall(r'w*oow*',text)

    #re.compile 可以把正则表达式编译成一个正则表达式对象

    c = re.compile(r'w*oow*')

    c.findall(text)

    * 匹配前一个字符0或无限次

    + 匹配前一个字符一次或无限次

    ? 匹配前一个字符0或1次

     表示单词的开头或结尾,空格、标点、换行都算是单词的分割

    [] 表示满足括号中任一字符

    任意字符是用“.”表示,而“*”则不是表示字符,而是表示数量,“?”匹配到最短的就停止,懒惰匹配,

    [0-9],类似的还有[a-zA-Z]的用法

    [0-9]* *表示的任意长度包括0,也就是没有数字的空字符也会被匹配出来,*类似的符号+,表示的则是1个或更长。限定长度,就用{}代替+

     


    w - 匹配字母或数字或下划线或汉字(3.x版本可以匹配汉字,但2.x版本不可以)
    s - 匹配任意的空白符

    d - 匹配任意数字
    ^ - 匹配字符串的开始
    $ - 匹配字符串的结束

    S其实就是s的反义,任意不是空白符的字符

    W - 匹配任意不是字母,数字,下划线,汉字的字符

    D - 匹配任意非数字的字符
    B - 匹配不是单词开头或结束的位置

    [a]的反义是[^a],表示除a以外的任意字符。[^abcd]就是除abcd以外的任意字符。

    ? - 重复零次或一次
    {n,} - 重复n次或更多次
    {n,m} - 重复n到m次

     

     

     

     

    ---by littleyang 测试就是测试一下
  • 相关阅读:
    HDU 1102 Constructing Roads
    HDU 1285 确定比赛名次。
    最小生成树 HDU 各种畅通工程的题,prim和kru的模板题
    HDU Jungle Roads 1301 最小生成树、
    并查集小结(转)
    HDU hdu 2094 产生冠军 拓扑排序 判定环
    模运算(转)
    拓扑排序(主要是确定环和加法) HDU 2647 Reward
    HDU 1372 Knight Moves 简单BFS
    用计算机模型浅析人与人之间沟通方式 (一)如何谈话
  • 原文地址:https://www.cnblogs.com/littleyang/p/6763623.html
Copyright © 2011-2022 走看看