正则表达式 Python 在单个表达式中提取两个字符串之间的数字

Regex Python extract digits between two strings in a single expression

我只想要两个字符之间存在的数字以获得整数美元值,例如来自字符串:

"Advance [Extra Value of ,730,555] in packages 2,3, and 5."

我们要获得"1730555".

我们可以使用$(.*)\]得到"1,730,555",但是我们如何去除同一个表达式中的逗号,同时保留任意多个逗号的可能性,理想情况下在一次捕获中得到数字组?

您可以使用拆分和合并:

import re

s = "Advance [Extra Value of ,730,555] in packages 2,3, and 5."

match = re.findall(r'$([\d,]+)', s)
number = ''.join(match[0].split(','))
print(number)

你可以这样试试

import re
text = "Advance [Extra Value of ,730,555] in packages 2,3, and 5."
match = re.findall(r'$(.*)]',text)[0].replace(',','')
print match