正则运算问题

来源:3-2 python正则表达式语法(二)

慕婉清9024213

2018-08-30 20:16

import re 

pa = re.compile(r'[a-z]*',re.I)

ma = pa.findall(r'abcefg125xyz777')

print ma

pa = re.compile(r'[a-z]+',re.I)

ma = pa.findall(r'abcefg125xyz777')

print ma


两次输出结果分别是:

# ['abcefg','','','','xyz','','','','']

# ['abcefg','xyz']

为什么第一种匹配会多出几个'',而且结尾会比中间的多一个‘’?是不是字符串结束还有一个结束符?


写回答 关注

2回答

  • qq_不抽烟的男人_1
    2019-07-09 16:07:20

    ma = pa.findall(r'')

    In [67]: ma = pa.findall(r'')


    In [68]: print ma

    ['']


    In [69]: ma = pa.findall(r' ')


    In [70]: print ma

    ['', '']


    看上面应该能明白了吧

  • 慕移动1399561
    2018-09-07 17:31:38

    *是可以0次的,‘’就代表找到0次

python正则表达式

如何使用正则处理文本,带你对python正则有个全面了解

80575 学习 · 174 问题

查看课程

相似问题