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
  • 相关阅读:
    LeetCode 面试题 02.02. 返回倒数第 k 个节点
    LeetCode 1290. 二进制链表转整数
    LeetCode 面试题52. 两个链表的第一个公共节点
    LeetCode 2. 两数相加
    Jupyter Notebook 常用快捷键 (转)
    LeetCode 414. 第三大的数
    LeetCode 404. 左叶子之和
    三年了
    LeetCode 543. 二叉树的直径
    求结点在二叉排序树中层次的算法
  • 原文地址:https://www.cnblogs.com/airener/p/6016177.html
Copyright © 2011-2022 走看看