menu Home Tags Archives Video About
正则表达式学习总结

一言加载中...

什么是正则表达式?

用一个字符串来描述一个特征,然后去验证另外一个字符串是否符合这个特征。如验证输入的邮箱格式是否规范;查找字符串;等。

简单匹配

pattern describe
? 0-1个字符
* 0-多个字符
+ 1-多个字符
. 除了换行符的所有字符
{n} 匹配n个字符
{m,n} 匹配m-n个字符
{n,} 匹配n-多个字符
\d
{0-9} 数字
\w 字母,下划线
\W 非数字和下划线
{a-zA-Z} 字母
\s 空格,制表符,换页符等空白字符的任意一个
[aqz^] 匹配’a’,’q’,’z’,’^’字符
^ 匹配开头
$ 匹配结尾

匹配(Python 为例)

  1. 匹配电话号码
    1
    2
    3
    4
    5
    6
    7
    8
    9
    import re

    pattern = '^0\d{2,3}-?\d{7,8}$'
    str = '010-1234567'
    result = re.match(pattern,str)
    print(result)

    # result
    # <re.Match object; span=(0, 12), match='010-22301889'>
  2. 匹配包含的所有特定字符
    1
    2
    3
    4
    5
    6
    7
    8
    9
    import re

    pattern = r'\wa\w'
    str = 'fapjachahahhac'
    result = re.findall(pattern, str)
    print(result)

    # result:
    # ['fap', 'jac', 'hah', 'hac']
  3. 拆分:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    import re

    pattern = r'\s+'
    str = 'hello Tony , Sweet Wednesday'
    result = re.split(pattern, str)
    print(result)

    #result:
    # ['hello', 'Tony', ',', 'Sweet', 'Wednesday']
TonyChenn
2018.11.21

评论