gpt4 book ai didi

Python 正则表达式转义字符

转载 作者:太空宇宙 更新时间:2023-11-03 15:21:43 25 4
gpt4 key购买 nike

我正在尝试将旧程序从 C# 移植到 Python,并且需要使用正则表达式来匹配单词、单引号单词和双引号单词。我已经有了正则表达式,如下所示,但当我在 IDLE 中尝试它时,它与任何内容都不匹配。

>>> import re
>>> regex = re.compile("""[^\s"']+|"([^"]*)"|'([^']*)'""")
>>> regex.findall("foo bar")
[('', ''), ('', '')]

我使用三引号字符串来输入 re,因为除了反斜杠之外,它还包含简单引号和双引号。

谁能帮忙解决这个问题吗?

谢谢

最佳答案

re.findall 返回捕获组的内容。由于 foobar[^\s"']+ 匹配,因此所有捕获组都是空的。

要获取匹配对象的列表,请使用re.finditer:

>>> list(regex.finditer('foo bar'))
[<_sre.SRE_Match object; span=(0, 3), match='foo'>, <_sre.SRE_Match object; span=(4, 7), match='bar'>]

关于Python 正则表达式转义字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43482262/

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