注释和变量之间的line.strip

时间:2015-11-12 12:37:59

标签: python regex

我有以下代码行:

if line.lstrip().startswith('#%s' % debug_variable):

这与文件中的以下行匹配良好:

#debug true

我想要做的是找到一种方法来匹配以下情况:

# key true
#  key true
#<tab>key true

即。注释(#)和密钥

之间的任何空间

基本上,我需要一个正则表达式来处理#和我的%s变量

我尝试过以下内容:

if line.lstrip().startswith('#\w%s' % debug_variable):

但没有太多运气。

1 个答案:

答案 0 :(得分:2)

如果您愿意使用正则表达式,则无需startswith

if re.match(r'#\s*' + debug_variable, line):

if re.match(r'#[ \t]*' + debug_variable, line):

请注意re.match尝试从字符串的开头匹配,因此行锚^的开始是不必要的。