我在python中抓取.txt文件,我正在使用正则表达式捕获票号和名称:
for line in Text:
if re.match('Ticket:|Name:', line):
print(line)
基于我的.txt文件,这是捕获正确的字段以及我的空白行(尚未填写):
Ticket: 123
Name: Person123
Ticket: 124
Name: Person124
Ticket:
Name:
Ticket:
Name:
Ticket:
Name:
如果我将\n
附加到我的正则表达式它会打印我的空白行,但是有没有办法保持我的“填充”行并且还排除了他们换行的空白?
下面的代码将跳过空行,添加\ s +,匹配Unicode空白字符(包括[\t\n\r\f\v]
)一次或多次,然后添加\ w +,其中一个或多个匹配Unicode字符;这包括大多数可以成为任何语言单词的一部分的字符,以及数字和下划线。如果使用ASCII标志,则仅匹配[a-zA-Z0-9_]
for line in Text:
if re.match('Ticket:\s+\w+|Name:\s+\w+', line):
print(line)
输出:
Ticket: 123
Name: Person123
Ticket: 124
Name: Person124