Python 重复正则表达式的一部分?
我必须解析电子表格的文本转储。我有一个正则表达式可以正确解析每一行数据,但它相当长。它基本上只是将某个模式匹配12或13次 我想重复的模式是Python 重复正则表达式的一部分?,python,regex,Python,Regex,我必须解析电子表格的文本转储。我有一个正则表达式可以正确解析每一行数据,但它相当长。它基本上只是将某个模式匹配12或13次 我想重复的模式是 \s+(\w*\.*\w*); 这是正则表达式(缩写) 有没有一种方法可以在不进行复制粘贴的情况下将图案匹配一定次数?这些部分中的每一部分都对应于我需要的数据列。顺便说一下,我正在使用Python。谢谢 如何使用: [x.group() for x in re.finditer(r'(\s+(\w*\.*\w*);)*', text)] 您找到find
\s+(\w*\.*\w*);
这是正则表达式(缩写)
有没有一种方法可以在不进行复制粘贴的情况下将图案匹配一定次数?这些部分中的每一部分都对应于我需要的数据列。顺便说一下,我正在使用Python。谢谢 如何使用:
[x.group() for x in re.finditer(r'(\s+(\w*\.*\w*);)*', text)]
您找到findall
方法了吗?或者考虑在<代码>分裂;<代码>
map(lambda x: x.strip(), s.split(";"))
这可能是您真正想要的。(\s+(\w*\.*\w*);){12}
{n}
是“重复n次”
如果你想要“12-13”次
(\s+(\w*\.*\w*);){12,13}
如果你想要“12+”次
(\s+(\w*\.\w*);){12,}
啊,这是个好主意。用分号拆分要简单得多。我需要做的就是删除空白。谢谢是时候改变被接受的答案了。。。。因此,(…){12}
重复封闭模式…
12次;刚才添加这个是为了省去(相当长的)模式与原始问题的比较。无穷大呢?
map(lambda x: x.strip(), s.split(";"))