Alexey Dudarev Asked:2020-11-15 20:08:41 +0000 UTC2020-11-15 20:08:41 +0000 UTC 2020-11-15 20:08:41 +0000 UTC 如何提取一个长度超过 4 个字符的数字元素? 772 例如,有一行: а = 'qqqq 12qw3 12 12345' 有必要从中提取一个元素,该元素将是一个数字,其长度将超过 4 个字符。 可能值得使用 module re,但我无法弄清楚如何设置根据元素的长度选择元素的条件。 python 1 个回答 Voted Best Answer MaxU - stop genocide of UA 2020-11-15T20:20:49Z2020-11-15T20:20:49Z 线: In [56]: a = 'qqqq a987654xx321aa 12qw3 12 12345 zz 1234567' 如果只需要返回第一个长度超过 4 个字符的数字: In [72]: re.search(r'\b(\d{5,})\b', a).group(0) Out[72]: '12345' 不使用 RegEx 的变体: In [68]: [s for s in a.split() if s.isdecimal() and len(s) > 4][0] Out[68]: '12345' 如果您需要返回所有超过 4 个字符的数字: In [57]: re.findall(r'\b(\d{5,})\b', a) Out[57]: ['12345', '1234567'] 左右,如果我们考虑987654存在于中的数字a987654xx321aa: In [58]: re.findall(r'(\d{5,})', a) Out[58]: ['987654', '12345', '1234567']
线:
如果只需要返回第一个长度超过 4 个字符的数字:
不使用 RegEx 的变体:
如果您需要返回所有超过 4 个字符的数字:
左右,如果我们考虑
987654
存在于中的数字a987654xx321aa
: