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

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

这个正则表达式的意思是:

  • (\d{1,3}(?:,\d{3})*|\d+):匹配一个或多个数字,可以是1到3位,也可以是1到3位的数字后跟着以逗号分隔的3位数字。这样可以匹配像'1,000'这样的数字。
  • (?:万)?:匹配可选的'万'字符。

这样,正则表达式可以同时将'8万'识别成'8',将'1,000'识别成'1,000'。

以下是一个示例代码,演示如何使用该正则表达式:

import re

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

print(matches)  # 输出: ['8', '1,000']

希望这可以帮助到您!

正则表达式:同时匹配数字和带'万'的数字

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

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