【发布时间】:2018-07-21 16:04:36
【问题描述】:
我不知道如何匹配一个字符串,但如果它有一个尾随换行符 (\n),这似乎是自动剥离的:
import re
print(re.match(r'^foobar$', 'foobar'))
# <_sre.SRE_Match object; span=(0, 6), match='foobar'>
print(re.match(r'^foobar$', 'foobar\n'))
# <_sre.SRE_Match object; span=(0, 6), match='foobar'>
print(re.match(r'^foobar$', 'foobar\n\n'))
# None
对我来说,第二种情况也应该返回None。
当我们使用$ 设置模式的结尾时,比如^foobar$,它应该只匹配foobar 这样的字符串,而不是foobar\n。
我错过了什么?
【问题讨论】:
-
究竟什么是单行字符串,您是如何阅读的?您是在读取二进制文件并自己解析吗?
-
我删除了“单行”一词。这是误导性的,没有增加问题的价值。否则,不,我不解析文件。我只需要检查一个简单字符串的模式,就像我的例子一样。
标签: python regex python-3.x match newline