• 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 = 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

  • 相关阅读:
    Hadoop、spark
    Hadoop、spark
    Hadoop、spark
    Hadoop、spark
    SQL查询表中的用那些索引
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    【转】迷你区块链(mini blockchain in python)
    理解 Web 3
    【转】数字货币钱包:生态及技术
    【转】用 Witnet 协议使加密网络可以跨链访问
  • 原文地址:https://www.cnblogs.com/vhills/p/7736077.html
Copyright © 2020-2023  润新知