我不得不解析电子表格的文本转储。我有一个正则表达式,正确解析数据的每一行,但它相当长。它基本上只匹配某种模式12或13次。
我想重复的模式是
\s+(\w*\.*\w*);
这是正则表达式(缩写)
^\s+(\w*\.*\w*);\s+(\w*\.*\w*);\s+(\w*\.*\w*);\s+(\w*\.*\w*);\s+(\w*\.*\w*);\s+(\w*\.*\w*);
有没有办法在不复制粘贴的情况下将模式匹配一定次数?这些部分中的每一部分都对应于数据列,所有这些都是我需要的。我顺便使用Python。谢谢!
答案 0 :(得分:40)
(\s+(\w*\.*\w*);){12}
{n}
是"重复n次"
如果你想要" 12 - 13"次,
(\s+(\w*\.*\w*);){12,13}
如果你想要" 12 +"次,
(\s+(\w*\.*\w*);){12,}
答案 1 :(得分:6)
如何使用:
(\s+(\w*\.*\w*);)*
您是否找到了findall
方法?或者考虑在;
拆分?
map(lambda x: x.strip(), s.split(";"))
可能是你真正想要的。