python正则表达式对象中的'\ t'与什么匹配?

时间:2019-08-07 23:01:20

标签: python python-3.x

我正在阅读之前对stackoverflow问题(https://stackoverflow.com/a/38162461/11783775)的答案,其中提到了'\ t'正则表达式代码,即与制表符匹配的内容。出于好奇,我想制作一个正则表达式对象,以查看精确匹配“ \ t”的内容,即有多少个空格,但是我自己什么都没找到。

这是正则表达式对象:

tabTesterRegex = re.compile(r'''
    (\t)
''', re.VERBOSE)

以下是我正在测试的一些文本(最下面的行表示'a'和'b'之间的键盘选项卡空间。)

text = '''
a b
a  b
a   b
a    b
a     b
a      b
a       b
a        b
a         b
a          b
a           b
a            b
a             b
a              b
a               b
a                b
a   b
'''

这是用于查找匹配项并将其附加到列表的代码。

matchList = []
for match in tabTesterRegex.findall(text):
    matchList.append(match)

print(matchList)

我收到的输出是一个空列表,但是我会假设'\ t'会匹配特定数量的空格。

谢谢

1 个答案:

答案 0 :(得分:1)

\t用于匹配tabs,与空格不同。如果附加\ t \ t \ tb,则会得到:

a b
a  b
a   b
a    b
a     b
a      b
a       b
a        b
a         b
a          b
a           b
a            b
a             b
a              b
a               b
a                b
a           b

请注意,间距可能会因IDE的设置而异。我可能会错误地假设您使用的是基于前几行输出的空格,因为它们不等于制表符的长度,但是正如PyNoob的评论所建议的那样,您的编辑器可能正在转换制表符。