gpt4 book ai didi

python - 正则表达式中的空格

转载 作者:行者123 更新时间:2023-12-04 10:51:16 29 4
gpt4 key购买 nike

我有一个问题,我可以说\t相当于 \s+在正则表达式中。?
我有几行代码:

>>> b = '\tNadya Carson'
>>> c = re.compile(r'\s\s*')
>>> c
<_sre.SRE_Pattern object at 0x02729800>
>>> c.sub('',b)
'NadyaCarson'
>>> c = re.compile(r'\s\s+')
>>> c
<_sre.SRE_Pattern object at 0x027292F0>

直到这里还有模式对象,但是当我想不带空格替换时,它仍然显示\t 而不是替换它:
>>> c.sub('',b)
'\tNadya Carson'

为什么在这种情况下属性 sub 不起作用。?谢谢。!

最佳答案

\t不等于 \s+ ,但是 \s+应该匹配一个选项卡( \t )。

您示例中的问题是第二个模式 \s\s+正在寻找两个或更多空白字符,以及 \t只是一个空白字符。

以下是一些可以帮助您理解的示例:

>>> result = re.match(r'\s\s+', '\t')
>>> print result
None
>>> result = re.match(r'\s\s+', '\t\t')
>>> print result
<_sre.SRE_Match object at 0x10ff228b8>
\s\s+也会匹配 ' \t' , '\n\t' , ' \n \t \t\n' .

另外, \s\s*相当于 \s+ .两者都将匹配一个或多个空白字符。

关于python - 正则表达式中的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23224889/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com