Python 使用正则表达式解析SEC RSS标题字段

Python 使用正则表达式解析SEC RSS标题字段,python,regex,Python,Regex,总之,我有一个来自SEC的RSS提要,公司名称如下;e、 g 10-Q-What ever公司(0000123456)(申报人) 因此,总体结构是: 表格名称+空格+破折号+空格+公司名称(“++SIC\u编号+”)(文件管理器) 我需要提取公司名称和SIC\u编号。注意表单名称可以有一个破折号,公司名称将有空格和破折号。 这可以通过对破折号使用re.split函数来实现(我使用的是python),对括号也可以使用re.split函数,但这很难看(为了完整性而显示): 正确的正则表达式是什么?如

总之,我有一个来自SEC的RSS提要,公司名称如下;e、 g

10-Q-What ever公司(0000123456)(申报人)

因此,总体结构是:

表格名称+空格+破折号+空格+公司名称(“++SIC\u编号+”)(文件管理器)

我需要提取公司名称SIC\u编号。注意表单名称可以有一个破折号,公司名称将有空格和破折号。 这可以通过对破折号使用re.split函数来实现(我使用的是python),对括号也可以使用re.split函数,但这很难看(为了完整性而显示):


正确的正则表达式是什么?

如果公司名称不包含字符串“-”,则SIC编号仅为数字,并且在开始括号前有一个空格,这就是您要查找的:

m = re.search(r' - ([^(]+?) \((\d+)\)',t)

我假设公司名称不能包含破折号?公司名称可以包含破折号,但这只会发生在表格名称后的空格+破折号+空格组合之后。公司名称或表格名称是否可以包含“-”?是的,SEC表格名称可以是他们想要的任何名称,10-Q,10-K/A(对于财务报表的修订…),4等。这里没有结构。公司名称也不受限制,可以有破折号。同时,我用你在下面提供的表达式得到了很好的结果。谢谢当公司名称包含字符串“-”(由空格包围的破折号)时,该表达式将立即中断。但是,如果你不能保证公司名称和表单名称都不会包含该字符串,那么这实际上是不可解析的。这是可行的,但我立即遇到了一个带有破折号的公司名称。。问题作了相应的修改。。对不起,我相应地更新了答案。
m = re.search(r' - ([^(]+?) \((\d+)\)',t)