Python:如果特定字符在行尾以制表符隔开,请选择一行

Python:如果特定字符在行尾以制表符隔开,请选择一行,python,regex,python-2.7,Python,Regex,Python 2.7,我试图找出如何从Python中的多个txt文件中最佳地选择特定行。一种方法是使用正则表达式,但我已经读到,对于更简单的行选择过程来说,这可能是一个“沉重”的解决方案。另一种可能是string.split(),但在进行选择之前,似乎必须先拆分所有行。我打算作出的选择是基于以下条件: 如果一行以“a tab a tab”结尾,则我选择该行 在正则表达式中,这将是以下内容: ((a\t){2}|(b\t){2})\n # character 'a' or 'b' at end of line 函数行

我试图找出如何从Python中的多个txt文件中最佳地选择特定行。一种方法是使用正则表达式,但我已经读到,对于更简单的行选择过程来说,这可能是一个“沉重”的解决方案。另一种可能是string.split(),但在进行选择之前,似乎必须先拆分所有行。我打算作出的选择是基于以下条件:

如果一行以“a tab a tab”结尾,则我选择该行

在正则表达式中,这将是以下内容:

((a\t){2}|(b\t){2})\n # character 'a' or 'b' at end of line
函数行.endswith('a')也可用,但它不识别制表符

if line.endswith('a a   '): # tabs are not recognized at end of line
你能告诉我正则表达式是好的还是用得太多,或者string.split或者像line.endswith这样的函数更合适吗?
谢谢。

endswith
足以解决您的选择问题:

\t
是用python字符串表示
选项卡的好方法:

>>> print('a\ta\t')
a       a      
endswith
完美匹配:

>>> print('foobar a\ta\t'.endswith('a\ta\t'))
True

endswith
足以解决您的选择问题:

\t
是用python字符串表示
选项卡的好方法:

>>> print('a\ta\t')
a       a      
endswith
完美匹配:

>>> print('foobar a\ta\t'.endswith('a\ta\t'))
True

字符串中的制表符不是四个空格,而是制表符
'\t'
line.endswith('a\ta\t')
(星球大战参考?)字符串中的制表符不是四个空格,而是制表符
'\t'
line.endswith('a\ta\t')
(星球大战参考?)