我有以下代码行:
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):
但没有太多运气。
答案 0 :(得分:2)
如果您愿意使用正则表达式,则无需startswith
。
if re.match(r'#\s*' + debug_variable, line):
或
if re.match(r'#[ \t]*' + debug_variable, line):
请注意re.match
尝试从字符串的开头匹配,因此行锚^
的开始是不必要的。