重复一段正则表达式?
我不得不解析电子表格的文本转储。我有一个正则表达式,可以正确解析数据的每一行,但它相当长。它基本上只是匹配一个特定的模式12或13次。重复一段正则表达式?
我要重复的图案是
\s+(\w*\.*\w*);
这是正则表达式(缩短)
^\s+(\w*\.*\w*);\s+(\w*\.*\w*);\s+(\w*\.*\w*);\s+(\w*\.*\w*);\s+(\w*\.*\w*);\s+(\w*\.*\w*);
有没有办法匹配模式的设定次数没有复制粘贴像这个?每个部分都对应于数据列,所有这些都是我需要的。顺便说一句,我正在使用Python。谢谢!
如何使用:
(\s+(\w*\.*\w*);)*
你找到findall
方法了吗?或考虑拆分;
?
map(lambda x: x.strip(), s.split(";"))
可能是你真的想要什么。
啊,这是个好主意。以分号分割要简单得多。我需要做的就是删除空格。谢谢! – 2012-01-12 23:24:32
呃,猜猜我的例子中的“strip”是什么...... – 2012-01-13 07:38:59
(\s+(\w*\.*\w*);){12}
的{n}
是 “重复n次”,如果你想 “12 - 13”
倍,
(\s+(\w*\.*\w*);){12,13}
如果你想 “12+” 次
,
(\s+(\w*\.*\w*);){12,}
更改接受答案的时间。 – Noumenon 2018-02-12 03:17:35