zoukankan      html  css  js  c++  java
  • 2020年1月2日 MRKJ page150 re模板

    import re
    pattern=r'mrw+'  #模式字符串,前面加个r做成原生字符,这样就不用加斜杠做转义
    string2='MR_SHOP mr_shop'#要进行匹配的字符串
    M=re.match(pattern,string2)
    # flags 可选参数,表示标志位的,用于控制匹配方式的
    msg='	A 只进行ASCII匹配,也就是不匹配汉字
    ' 
        '	I 不区分大小写
    ' 
        '	M 将^ 和 $ 用于整个字符串的开始和结尾的每一个行
    ' 
        '	S 用(.) 匹配所有字符,包括换行
    ' 
        '	X 忽略模式字符串中未转义的空格和注释'
    print('
    **************
    ',msg,'
    ***************
    ')
    N=re.match(pattern,string2,re.I)
    print(M,'
    ',N)
    print('start位置:',N.start(),'
    end位置:',N.end())
    print('匹配位置的元祖:',N.span())
    print('要匹配的字符串:',N.string)
    print('匹配数据:',N.group())
    
    
    print(N.string[0:7])
    print(string2[N.start():N.end()])
    print(string2[N.span()[0]:N.span()[1]])

    》》》》》

    **************
    A 只进行ASCII匹配,也就是不匹配汉字
    I 不区分大小写
    M 将^ 和 $ 用于整个字符串的开始和结尾的每一个行
    S 用(.) 匹配所有字符,包括换行
    X 忽略模式字符串中未转义的空格和注释
    ***************

    None
    <re.Match object; span=(0, 7), match='MR_SHOP'>
    start位置: 0
    end位置: 7
    匹配位置的元祖: (0, 7)
    要匹配的字符串: MR_SHOP mr_shop
    匹配数据: MR_SHOP
    MR_SHOP
    MR_SHOP
    MR_SHOP

    re.match与re.search的区别

    re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而re.search匹配整个字符串,直到找到一个匹配。
    re.findall 用于匹配整个字符串,并以列表方式返回,如果没有则返回空列表。

    import re  #验证手机号是不是中国移动
    tel_moban=r'^1(3|5)[4-9]d{8}$'#添加边界符,这样就能确保匹配的数字
    tel='13434343443'
    match=re.match(tel_moban,tel)
    if match==None:
        print('sorry')
    else:
        print('ok',match.group())

    》》》

    ok 13434343443

    import re
    pattern=r'mrw+'  #模式字符串,前面加个r做成原生字符,这样就不用加斜杠做转义
    string2='项目名称MR_SHOP mr_shop'#要进行匹配的字符串
    M=re.search(pattern,string2)
    # flags 可选参数,表示标志位的,用于控制匹配方式的
    msg='	A 只进行ASCII匹配,也就是不匹配汉字
    ' 
        '	I 不区分大小写
    ' 
        '	M 将^ 和 $ 用于整个字符串的开始和结尾的每一个行
    ' 
        '	S 用(.) 匹配所有字符,包括换行
    ' 
        '	X 忽略模式字符串中未转义的空格和注释'
    print('
    **************
    ',msg,'
    ***************
    ')
    N=re.search(pattern,string2,re.I)
    print(M,'
    ',N)
    print('start位置:',N.start(),'
    end位置:',N.end())
    print('匹配位置的元祖:',N.span())
    print('要匹配的字符串:',N.string)
    print('匹配数据:',N.group())
    
    
    print(N.string[4:11])
    print(string2[N.start():N.end()])
    print(string2[N.span()[0]:N.span()[1]])

    》》》》

    **************
    A 只进行ASCII匹配,也就是不匹配汉字
    I 不区分大小写
    M 将^ 和 $ 用于整个字符串的开始和结尾的每一个行
    S 用(.) 匹配所有字符,包括换行
    X 忽略模式字符串中未转义的空格和注释
    ***************

    <re.Match object; span=(12, 19), match='mr_shop'>
    <re.Match object; span=(4, 11), match='MR_SHOP'>
    start位置: 4
    end位置: 11
    匹配位置的元祖: (4, 11)
    要匹配的字符串: 项目名称MR_SHOP mr_shop
    匹配数据: MR_SHOP
    MR_SHOP
    MR_SHOP
    MR_SHOP

    import re #验证是否有危险字符
    pattern=r'(hk)|(zb)|(jt)'
    about='I am hk,like zb,I want to jt'
    match=re.search(pattern,about)
    if match:
        print('this is unsafty:',match.group())
    else:
        print('this is safty')

    》》》》》

    this is unsafty: hk

    import re  #re.findall 方法
    pattern=r'mrw+'  #模式字符串,前面加个r做成原生字符,这样就不用加斜杠做转义
    string2='MR_SHOP mr_shop'#要进行匹配的字符串
    M=re.findall(pattern,string2)
    # flags 可选参数,表示标志位的,用于控制匹配方式的
    msg='	A 只进行ASCII匹配,也就是不匹配汉字
    ' 
        '	I 不区分大小写
    ' 
        '	M 将^ 和 $ 用于整个字符串的开始和结尾的每一个行
    ' 
        '	S 用(.) 匹配所有字符,包括换行
    ' 
        '	X 忽略模式字符串中未转义的空格和注释'
    print('
    **************
    ',msg,'
    ***************
    ')
    N=re.findall(pattern,string2,re.I)
    print(M,'
    ',N) #返回的是列表

    》》》》

    **************
    A 只进行ASCII匹配,也就是不匹配汉字
    I 不区分大小写
    M 将^ 和 $ 用于整个字符串的开始和结尾的每一个行
    S 用(.) 匹配所有字符,包括换行
    X 忽略模式字符串中未转义的空格和注释
    ***************

    ['mr_shop']
    ['MR_SHOP', 'mr_shop']

  • 相关阅读:
    flex布局水平垂直居中
    react-native-vector-icons自定义图标
    RN真机USB 调试
    react-native 路由 react-native-router-flux
    使用react-native-router-flux路由的踩坑日记,问题点: 就是不报错,启动项目模拟器直接白屏闪退
    RN坑:如果你运行时出现了错误,但是你又把错误改了,但是你重跑项目,发现还是报你改错误前的错误,那么,你就得去清楚缓存啦,
    react-native调试方法
    Unable to load script.Make sure you‘re either running a metro server( run ‘react-native start‘ ) or that your bundle ‘index.android.bundle‘ is packaged correctly for release.
    React-Native样式表
    reactNative给webstorm创建代码模板
  • 原文地址:https://www.cnblogs.com/python1988/p/12142219.html
Copyright © 2011-2022 走看看