正则表达式

#正则表达式简介

#就是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符以及这些特定字符的组合组成一个有规则的

#字符串 这个字符串用来表达对字符串一种过滤的逻辑

#python对正则表达式的支持

import re

pattern ='python'

stra ='pythonandjava'

#有三个参数第一个参数就是pattern 第二个参数是stra表示要匹配的字符串 第三个参数标志位匹配方式

res = re.match(pattern,stra)

if res:

print(res.group())#内容

    print(res.start())#开始位置

    print(res.end())#结束位置

    print(res.span())#从几到几

    print(res.string)#字符串

else:

print('没有')

from matplotlibimport pyplotas plt

import re

#匹配单个字符

# .是匹配任意除了换行的1个字符

#[]匹配[]中列举的字符

#\d匹配数字零到九

#\D匹配非数字

#\s匹配空白 tab

#\S匹配非空白

#\w匹配单词字符 a-z A-Z 0-9 _

#\W匹配非单词字符

# def fn(x,y):

#    for i in y:

#        res = re.match(x,i)

#        if res:

#            print(res.group(),'匹配成功')

#        else:

#            print('匹配失败')

# # x ='ab.'

# # y = ['ab','abc','abe']

# # fn(x,y)

# # x = 'm[abcd]n'

# # y = ['mon','mdn','mmm','www','man']

# # x = 'm[\d]n'

# # y =['m1n','m9n','mmm','m_n']

# # x = 'm[\D]n'

# # y =['m1n','m9n','mmm','m_n']

# # x = 'm[\s]n'

# # y =['m1n','m9n','mmm','m_n','m n','m\tn']

# # x = 'm[\S]n'

# # y =['m1n','m9n','mmm','m_n','m n','m\tn']

# # x = 'm[\w]n'

# # y =['m1n','m9n','mmm','m_n','m n','m\tn']

# x = 'm[\D]n'

# y = ['m@n']

# fn(x,y)

#匹配多个字符

#*匹配前一个字符出现零次或者无限次 可有可无

#+匹配前一个字符出现一次或者无限次 至少得有一次

#?匹配前一个字符出现零次或者一次 要么有要么没有

#{m}匹配前一个字符出现m次

#{m,n}匹配前一个字符出现从m到n次

#{m,}加上逗号前一个字符出现m到无限次

# def fn(x,y):

#    for i in y:

#        res = re.match(x,i)

#        if res:

#            print(res.group(),'匹配成功')

#        else:

#            print('匹配失败')

# y = ['hello','abc','xxx','h']

# x = 'h[a-z]*'

# fn(x,y)

# print('-'*50)

# y = ['hello','abc','xxx','h']

# x = 'h[a-z]+'

# fn(x,y)

# print('-'*50)

# y = ['hello','abc','xxx','h']

# x = 'h[a-z]?'

# fn(x,y)

# print('-'*50)

# y = ['hello','abc','xxx','h','python','123456']

# x ='[\w]{6}'

# fn(x,y)

# print('-'*50)

# y = ['hello','abc','xxx','h','python','123456','12345678']

# x ='[\w]{3,7}'

# fn(x,y)

# print('-'*50)

# y = ['hello','abc','xxx','h','python','123456','12345678']

# x ='[\w]{3,}'

# fn(x,y)

# print('-'*50)

#

# def fn(x,y):

#    for i in y:

#        res = re.match(x,i)

#        if res:

#            print(res.group(),'匹配成功')

#            #print(res.group(1),res.group(2))

#        else:

#            print('匹配失败')

# #匹配数字或者字母开头的邮箱

# x = '[\w]+@qq.com$'#$表示到这里结束

# y =['123@qq.com','abc@yy.com','bcde@qq.com.cn']

# fn(x,y)

#匹配数组

#|表示左右俩边任意一个表达式 相当于or

#(ab)将括号里的字符作为一个分组

#\num 引用分组num匹配到的字符串

# x= 'hello|hc'#匹配hello或者hc

# y= ['hello','hc','helloworld','ok']

#

# # #检查一个以134或者135开头的手机号

# # y = ['13423456534','13413413413','13600987432']

# # # x = '(134|135)[0-9]{8}'

# # # fn(x,y)

# # x ='([^-]*)-(\d+)'

# # y = ['010-12345678']

# y = ['hellp','ddd','python']

# x = r'<([a-zA-Z]{1,12})>\w*'

# # fn(x,y)

# #贪婪匹配和非贪婪匹配

# s = r'

abc
bcd
'

# d = r'

.*?
'#.是匹配要找的数据后的一位 *是匹配零次或者无限次 而?是指匹配0或1次

# r = re.match(d,s)

# print(r.group())

#

#

#

#

#

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • \ :将下一字符标记为特殊字符、文本、反向引用或八进制转义符。例如,"n"匹配字符"n"。"\n"匹配换行符。序列...
    小沙鹰168阅读 3,573评论 0 1
  • Python中的正则表达式(re) import rere.match #从开始位置开始匹配,如果开头没有则无re...
    BigJeffWang阅读 12,105评论 0 99
  • 搞懂Python 正则表达式用法 Python 正则表达式 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一...
    厦热阅读 5,557评论 0 2
  • re模块手册 本模块提供了和Perl里的正则表达式类似的功能,不关是正则表达式本身还是被搜索的字符串,都可以...
    喜欢吃栗子阅读 9,483评论 0 13
  • 一、复习 1. 运算符重载 通过在类中实现运算符对应的魔法方法,来让类的对象支持相关运算符的操作 2. 内存管理(...
    火星人_ef5b阅读 2,578评论 0 0