在到达某些字符之前,匹配字符的正则表达式是什么?

时间:2015-07-16 06:56:01

标签: python regex

在达到某些字符之前匹配字符的正则表达式是什么?

下面是一个我希望匹配ABCDEFG前4行的字符串,直到我达到END。

sheet 1

3 个答案:

答案 0 :(得分:1)

print re.findall(r"^[\s\S]*?(?=\nEND\b)",test_str)

这个简单的正则表达式将首先获取4行。

答案 1 :(得分:1)

您不需要使用正则表达式。

for line in f:
    if  line.strip() != 'END':
        print(line)
    else:
        break

示例:

l = ['sds', 'sd', 'END', 'df', 'END']
for line in l:
    if  line.strip() != 'END':
        print(line)
    else:
        break

输出:

sds
sd

答案 2 :(得分:1)

您是否有理由在这里使用正则表达式?根据您列出的要求,这样的事情应该足够了:

try:
    data[:data.index('END')]
except ValueError:
    # handle END not found