我正在使用Python的正则表达式来解析注释行的文件。评论如下:
.. The comment is here
Not comment
Nope
.. Yup
..
.. This and the above are both comments!
但是,我的正则表达式\.\.\s+.*?&
与这些行不匹配。我觉得好像我在行尾和符号上做错了。
答案 0 :(得分:4)
[.]
不正确,它与文字句号相匹配。 ^
,否则您的正则表达式也会匹配foobar.. blah
。 .*?$
(我猜你有一个错字&
应该是$
)没有多大意义...... 这应该做:
^\.\.\s+.*
答案 1 :(得分:3)
一些事情:
.*
。[.]
是一个包含文字点的字符组。它与.
不一样。正确的正则表达式如下所示:\.{2}\s+(.*)
。
我会在没有正则表达式的情况下这样做:
for line in file:
if line.startswith('..'):
comment = line[2:].strip()
答案 2 :(得分:2)
行尾的字符为$
,而不是&
。
这是一个简单的正则表达式来匹配这些行:r'\.\..*$'