1. 程式人生 > >Python 正則re匹配中文、英式數字

Python 正則re匹配中文、英式數字

article 正則 find tin 中文 自動 nbsp ont ron



#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 = re.compile(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為組名

參考:http://blog.csdn.net/duke_knight/article/details/70160338

http://www.cnblogs.com/tina-python/p/5508402.html

Python 正則re匹配中文、英式數字