提取以数字开头的所有行的正则表达式是什么?
我知道^
字符用于匹配行开头的任何内容,但我没有将其构造正确。
以下是我的尝试:
re.findall('^[0-9]+',mystring).
答案 0 :(得分:3)
您忘记了re.MULTILINE
修饰符和.*
之后的[0-9]
以匹配该行的其余部分。如果您 使用正则表达式,则可以使用r"(?m)^[0-9].*"
。但是,这不是最好的方法。用\ n分割并遍历这些行,检查第一个字符是否为数字。
以下是我的建议:
with open('file', 'r') as f:
for line in f:
if len(line) > 0 and line[0].isdigit():
print(line)
答案 1 :(得分:2)
我猜你要匹配整条线,但它只匹配起始编号。您需要包含贪婪的通配符以及多行参数,以告诉您要搜索多行。尝试:
re.findall('^[0-9].*', mystring, re.MULTILINE)