您可以使用以下正则表达式来实现您的需求:

(\d+(?:,\d{3})*|\d+)(?:万)?

这个正则表达式可以同时匹配整数和带有逗号的千位分隔符的数字,并且可选地匹配万位。下面是对该正则表达式的解释:

  • \d+ 匹配一个或多个数字。
  • (?:,\d{3})* 匹配一个逗号后跟着三位数字的模式,可以重复零次或多次。
  • | 表示或的关系。
  • \d+ 匹配一个或多个数字。
  • (?:万)? 匹配可选的'万'字符。

示例代码:

import re

text = '8万 1,000'
pattern = r'(\d+(?:,\d{3})*|\d+)(?:万)?'
matches = re.findall(pattern, text)

print(matches)

输出结果:

['8', '1,000']

这样,您就可以同时识别出 '8万' 为 '8',以及 '1,000' 为 '1,000'。

正则表达式筛选数字:识别“8万”为“8”和“1,000”为“1,000”

原文地址: https://www.cveoy.top/t/topic/eCjm 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录