虽然这个问题类似于这个主题
我想在使用正则表达式构造代码时可能会出错.
我希望将一行中的任何内容与注释("#")或行尾(如果它没有注释)匹配.
我正在使用的正则表达式是: (.*)(#|$)
(.*)= Everything
(#|$)=评论或行尾
代码:
OPTION = re.compile(r'(?P<value>.*)(#|$)')
file = open('file.txt')
lines = file.read()
for line in lines.split('\n'):
get_match = OPTION.match(line)
if get_match:
line_value = get_match.group('value')
print "Match= %s" % line_value
Run Code Online (Sandbox Code Playgroud)
以上工作但不删除评论.如果文件有一行如下:
this is a line # and this is a comment
Run Code Online (Sandbox Code Playgroud)
运行代码时我仍然得到整行.
我是否在正则表达式中缺少其他值/信息,或者我是否需要对代码进行更改?