zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    BZOJ 3390 Bad Cowtractors牛的报复
    BZOJ 4291 Kieszonkowe
    【重温基础】3.循环和迭代
    【重温基础】3.循环和迭代
    【重温基础】2.流程控制和错误处理
    【重温基础】2.流程控制和错误处理
    【重温基础】1.语法和数据类型
    【重温基础】1.语法和数据类型
    vue axios全攻略
    vue axios全攻略
  • 原文地址:https://www.cnblogs.com/vhills/p/7736077.html
Copyright © 2011-2022 走看看