要捕获有效的逗号分隔数字,可以使用以下正则表达式和示例代码:
import re
# 正则表达式模式
pattern = r"\d{1,3}(?:,\d{3})*"
# 示例文本
text = "1,234,567 12,345,678 123,456 1,234"
# 使用正则表达式匹配数字
matches = re.findall(pattern, text)
# 打印匹配结果
for match in matches:
print(match.replace(",", ""))
解释:
\d{1,3}(?:,\d{3})*
匹配一个或多个数字,每3位数字之间用逗号分隔。re.findall()
函数在文本中寻找所有匹配的数字。.replace(",", "")
方法去除逗号,得到有效的数字。输出结果:
1234567
12345678
123456
1234