正则表达式:同时匹配数字和带'万'的数字
您可以使用以下正则表达式来实现您的需求:
(\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 著作权归作者所有。请勿转载和采集!