Python正则re匹配中⽂、英式数字#coding:utf-8
import re
s = u''' 或多或少的好好读书电锯惊魂20202 和⽔电费后是否会时候1212没收到风10.12海⼤富的是粉红⾊的和办法的1244525.000
会发⽣的粉红⾊的合法化好0.01给对⽅会感受到发给还是⼲活0001还打飞机⼤嫁风尚蝴蝶结个房间⼩电风扇⾖腐⼲很多
事123,450,000.000好盛⼤⿊⾊的⼗⼀万⼋千四百三⼗⼆的还好丁世德1亿11万2200海⼤富会闪烁⼆⼗万零三,零点零⼀,⼀九⼋四''' # 匹配中的 ‘u’不可少
pattern = repile(ur'[⼀⼆两三四五六七⼋九零⼗百千万亿点]+|(?:\d+[,\.⼗百千万亿]*){1,}')
all = pattern.findall(s)
for i in all:
print i
输出结果:
20202
1212
10.12
1244525.000
0.01
0001
123,450,000.000
⼗⼀万⼋千四百三⼗⼆
11万2200
⼆⼗万零三
零点零⼀
⼀九⼋四
重点
1、匹配中的 'u'是关键
2、匹配数字的(?:\d+[,\.]*){1,} 中的(?:)属于⾮捕获型括号
===
(?: pattern)是⾮捕获型括号
匹配pattern,但不捕获匹配结果。
(pattern )是捕获型括号。匹配pattern,匹配pattern并捕获结果,⾃动获取组号
(?<name> pattern) 匹配pattern,匹配pattern并捕获结果,设置name为组名
regex匹配
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论