V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
Frankhong
V2EX  ›  Python

为什么正则表达式里的\s 能匹配空字符串呢? \s 的解释不是“匹配任何空白字符,包括空格、制表符、换页符等等吗”?

  •  
  •   Frankhong · 2021-01-08 22:50:27 +08:00 · 4117 次点击
    这是一个创建于 1422 天前的主题,其中的信息可能已经有所发展或是发生改变。
    15 条回复    2021-01-11 21:34:54 +08:00
    lpts007
        1
    lpts007  
       2021-01-08 23:31:10 +08:00 via Android
    贴代码
    imn1
        2
    imn1  
       2021-01-09 00:46:39 +08:00
    完全搞不清问什么
    空字符串,你用任何正则匹配,结果也是空字符串啊,你是期望得到 NoneType 么?
    weixiangzhe
        3
    weixiangzhe  
       2021-01-09 02:13:41 +08:00 via Android
    任意字符可以 [\s\S]+ 这样
    agagega
        4
    agagega  
       2021-01-09 02:24:07 +08:00 via iPhone
    我记得\s 匹配的是一个位置而不是字符
    aijam
        5
    aijam  
       2021-01-09 06:41:04 +08:00
    > 为什么正则表达式里的\s 能匹配空字符串呢?
    并不能
    laoyur
        6
    laoyur  
       2021-01-09 07:57:40 +08:00 via Android
    正则还有空串的概念?那岂不是可以死循环出无限个你所谓的\s ?
    我觉得你是不是遗漏了后面的*
    reus
        7
    reus  
       2021-01-09 10:28:59 +08:00 via Android
    不给例子你问什么问?
    dorothyREN
        8
    dorothyREN  
       2021-01-09 10:55:59 +08:00
    空字符串 是不是字符串嘛
    masker
        9
    masker  
       2021-01-09 11:22:06 +08:00 via Android
    问问题都不会,老伸手党了
    keepeye
        10
    keepeye  
       2021-01-09 11:22:07 +08:00
    >>> print(re.match(r'\s', ''))
    None
    >>> print(re.match(r'\s', ' '))
    <_sre.SRE_Match object; span=(0, 1), match=' '>

    不要妄下结论
    kokutou
        11
    kokutou  
       2021-01-09 12:43:01 +08:00
    https://regexr.com/
    做做实验吧
    zhanglintc
        12
    zhanglintc  
       2021-01-09 20:25:58 +08:00
    我感觉楼主的提问不太对,应该是匹配不了的,除非你拿出证据,那我们再研究研究
    dyv9
        13
    dyv9  
       2021-01-10 09:40:16 +08:00 via Android
    可能你没有转义吧, \ 需要转义 成 \\。
    lpts007
        14
    lpts007  
       2021-01-11 21:34:04 +08:00 via Android
    散了吧,等待楼主下一个问题
    lpts007
        15
    lpts007  
       2021-01-11 21:34:54 +08:00 via Android
    有没有礼貌,妈的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2600 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 10:51 · PVG 18:51 · LAX 02:51 · JFK 05:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.