查找字符后的所有数字,以逗号分隔

时间:2018-03-31 04:19:01

标签: python regex pandas

我有一个DataFrame,我想从中提取数字。所有行都遵循相同的格式:

18             cc9   =1 then do i=10;hcc(i)=0;end;
19    cc15  =1 then do i=16,17,18,19;hcc(i)=0;end;

我希望提取用逗号分隔的i=之后的所有数字。它们可以是1-3位数字,并且总是至少有一个数字。

我知道我可以使用(?<=i=)([0-9]*)获取第一个号码,但我不确定如何抓住所有这些号码。所需的输出是:

18 [10]
19 [16, 17, 18, 19]

1 个答案:

答案 0 :(得分:1)

只需更改正则表达式以匹配可能出现的任何其他数字:

(?<=i=)([\d]{1,3}(,\s?[\d]{1,3})*)

工作示例: https://regex101.com/r/vYt9Ey/1

请注意,我已经更改为强制数字在1到3位之间,还增加了昏迷后空格的可能性。