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

    正则表达式的符号与方法

    >>常用符号:

     >>.:匹配任意字符,换行符 除外

    >>> import re
    >>> a = 'abc123'
    >>> b = re.findall('a.',a)
    >>> print(b)
    ['ab']
    >>> b = re.findall('a..',a)
    >>> print(b)
    ['abc']

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

    >>> import re
    >>> a = 'abca123'
    >>> b = re.findall('a*',a)
    >>> print(b)
    ['a', '', '', 'a', '', '', '', '']

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

    >>> import re
    >>> a = 'abca123'
    >>> b = re.findall('a?',a)
    >>> print(b)
    ['a', '', '', 'a', '', '', '', '']

     >>.*:贪心算法

    >>> import re
    >>> a = 'fdsfsdafasfaxxaxxfdsafsdfasxxbxxfdsafasfsaxxcxxdfafdsa'
    >>> b = re.findall('xx.*xx',a)
    >>> print(b)
    ['xxaxxfdsafsdfasxxbxxfdsafasfsaxxcxx']

     >>.*?:非贪心算法

    >>> import re
    >>> a = 'fdsfsdafasfaxxaxxfdsafsdfasxxbxxfdsafasfsaxxcxxdfafdsa'
    >>> b = re.findall('xx.*?xx',a)
    >>> print(b)
    ['xxaxx', 'xxbxx', 'xxcxx']

     >>():括号内的数据作为结果返回

    >>> import re
    >>> a = 'fdsfsdafasfaxxaxxfdsafsdfasxxbxxfdsafasfsaxxcxxdfafdsa'
    >>> b = re.findall('xx(.*?)xx',a)
    >>> print(b)
    ['a', 'b', 'c']

     >>d+:匹配数字

    >>> import re
    >>> a = 'ab312321ab21312'
    >>> b = re.findall('d+',a)
    >>> print(b)
    ['312321', '21312']

    >>常用方法

     >>findall:匹配所有符合规律的内容,返回包含结果的列表

     >>search:匹配并提取第一个符合规律的内容,返回一个对象

    >>> import re
    >>> a = 'abca123'
    >>> b = re.search('a?',a).group(0)
    >>> print(b)
    a

     >>Sub:替换符合规律的内容,返回替换后的值

    >>> import re
    >>> a = 'abca123'
    >>> b = re.sub('.*?123','0123',a)
    >>> print(b)
    0123
  • 相关阅读:
    VS2010引用App_Code下的类文件问题解决方法
    Sql server 2008 sa用户开启教程
    ASP.NET中App_Code,App_Data等文件夹的作用
    错误提示: (provider: Named Pipes Provider, error: 40 Could not open a connection to SQL Server)
    treeview展开一个节点就关闭其他节点
    ASP.NET AJAX Toolkit的安装过程
    c++推荐读物
    for()的多参数
    模板函数I n p u t
    这次真的是下定决心了
  • 原文地址:https://www.cnblogs.com/airener/p/6016177.html
Copyright © 2011-2022 走看看