正则表达式:提取未知长度未知的数字 #,带有分隔符和要忽略的字符



我希望提取以下格式的数字:

[数字]["/"或"或"\">

可能,忽略]:["/"或"或"\" 可能,忽略][数字]["/"或"或"\"可能,忽略]:...

例如:

"4852/: 5934: 439028/:\23">

将提取: ['4852', '5934', '439028', '23']

使用re.findall提取模式的所有匹配项。请注意,应使用双反斜杠来表示引号中的文字反斜杠。

>>> import re
>>> re.findall(r'd+', '4852/: 5934: 439028/:\23')
['4852', '5934', '439028', '23']
>>>

Python 确实有一个正则表达式包 2.7, 3。

您可能想要使用的函数是.split()函数

代码片段将是

import re
numbers = re.split('[/:]', your_string) 

如果您仅根据这些非字母数字字符拆分它,则上面的代码将起作用。但是您也可以根据所有非数字字符对其进行拆分。喜欢这个

numbers = re.split('D+', your_string)

或者你可以做

numbers = re.findall('d+',your_string)

荣誉!

最新更新