正则表达式筛选数字:识别“8万”为“8”和“1,000”为“1,000”
您可以使用以下正则表达式来实现您的需求:
(\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'。
原文地址: https://www.cveoy.top/t/topic/eCjm 著作权归作者所有。请勿转载和采集!