# 参考资料:
# python模块(转自Yuan先生) - 狂奔__蜗牛 - 博客园
# https://www.cnblogs.com/guojintao/articles/9070485.html # ------------------------------------------------------------
# ********************day22_6-re模块 *******************
# ********************day22_6-re模块 *******************
# =====>>>>>>内容概览
# =====>>>>>>内容概览 # ------------------------------------------------------------
# # 1、re模块 的解释
# # # 就其本质而言,正则表达式(或 RE)是一种小型的、高度专业化的编程语言,(在Python中)它内嵌
# # # 在Python中,并通过 re 模块实现。正则表达式模式被编译成一系列的字节码,然后由用 C 编写的匹
# # # 配引擎执行。
# # # 字符匹配(普通字符,元字符):
# # # 1 普通字符:大多数字符和字母都会和自身匹配
# # # >>> re.findall('alvin','yuanaleSxalexwupeiqi')
# # # ['alvin']
# # # 2 元字符:. ^ $ * + ? { } [ ] | ( ) \
# ------------------------------------------------------------ # ------------------------------------------------------------
# # 2、re.findall(待匹配的字符串,被查找的对象)
# # # 在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。
# # # 注意: findall 匹配所有。
# # # Python3 正则表达式 | 菜鸟教程
# # # http://www.runoob.com/python3/python3-reg-expressions.html
# ------------------------------------------------------------ # ------------------------------------------------------------
# # 3、re.findall(待匹配的字符串,被查找的对象) 与 “.”元字符
# # # 一个元字符“.”代表一个未知的字符
# # # Python3 正则表达式 | 菜鸟教程
# # # http://www.runoob.com/python3/python3-reg-expressions.html
# ------------------------------------------------------------ # ------------------------------------------------------------
# # 4、re.findall(待匹配的字符串,被查找的对象) 与 “^”元字符
# # # “^”代表待匹配的字符串的内容是在 被查找的对象中的开头部分开始匹配
# # # Python3 正则表达式 | 菜鸟教程
# # # http://www.runoob.com/python3/python3-reg-expressions.html
# ------------------------------------------------------------ # ------------------------------------------------------------
# # 5、re.findall(待匹配的字符串,被查找的对象) 与 “$”元字符
# # # “$”代表的是,待匹配的字符串的位置的末尾处,是在被查找对象的末尾的
# # # Python3 正则表达式 | 菜鸟教程
# # # http://www.runoob.com/python3/python3-reg-expressions.html
# ------------------------------------------------------------ # ------------------------------------------------------------
# # 6、re.findall(待匹配的字符串,被查找的对象) 与 元字符“*”
# # # 其前面的一个字符匹配0个或多个的表达式。
# # # Python3 正则表达式 | 菜鸟教程
# # # http://www.runoob.com/python3/python3-reg-expressions.html
# ------------------------------------------------------------ # ------------------------------------------------------------
# # 7、re.findall(待匹配的字符串,被查找的对象) 与 元字符“+”
# # # 其前面的一个字符匹配1个或多个的表达式。
# # # Python3 正则表达式 | 菜鸟教程
# # # http://www.runoob.com/python3/python3-reg-expressions.html
# ------------------------------------------------------------ # ------------------------------------------------------------
# # 8、re.findall(待匹配的字符串,被查找的对象) 与 元字符“?”
# # # 其前面的一个字符匹配1个或0个的表达式。
# # # Python3 正则表达式 | 菜鸟教程
# # # http://www.runoob.com/python3/python3-reg-expressions.html
# ------------------------------------------------------------ # ------------------------------------------------------------
# # 9、re.findall(待匹配的字符串,被查找的对象) 与 元字符“{}”
# # # {0,} == *
# # # {1,} == +
# # # {0,1} == ?
# # # {6} ==
# # # Python3 正则表达式 | 菜鸟教程
# # # http://www.runoob.com/python3/python3-reg-expressions.html
# ------------------------------------------------------------ # ------------------------------------------------------------
# # 10、re.findall(字符序列1[字符序列2],被查找的对象) 与 元字符“[]”
# # # 字符序列2提供选择,查找是,字符序列1在序列2中选出某个字符进行搭配,之后再被查找对象中进行查找
# # # Python3 正则表达式 | 菜鸟教程
# # # http://www.runoob.com/python3/python3-reg-expressions.html
# ------------------------------------------------------------ # ------------------------------------------------------------
# # 11、re.findall(字符序列1[字符序列2],被查找的对象) 与 元字符“[ - ]*”
# # # 字符序列2提供选择,查找是,字符序列1在序列2中选出某个字符进行搭配,之后再被查找对象中进行查找
# # # 里面的“-”表示范围,[ a-z] ,表示a-z的小写字母;[ 0-9] ,表示a-z的小写字母
# # # Python3 正则表达式 | 菜鸟教程
# # # http://www.runoob.com/python3/python3-reg-expressions.html
# ------------------------------------------------------------ # ------------------------------------------------------------
# # 12、re.findall(字符序列1[^字符序列2],被查找的对象) 与 元字符“[^ - ]”
# # # ^字符序列2进行取非,之后提供选择,查找是,字符序列1在序列2中选出某个字符进行搭配,
# # # 之后再被查找对象中进行查找
# # # 里面的“^”表示取非,[ a-z] ,表示a-z的小写字母;[ 0-9] ,表示a-z的小写字母
# # # Python3 正则表达式 | 菜鸟教程
# # # http://www.runoob.com/python3/python3-reg-expressions.html
# ------------------------------------------------------------ # ------------------------------------------------------------
# # 13、元字符之转义符\
# # # Python3 正则表达式 | 菜鸟教程
# # # http://www.runoob.com/python3/python3-reg-expressions.html
# ------------------------------------------------------------ # ------------------------------------------------------------
# # 14、re.findall 在计算中的应用
# # # 在计算上的应用,使用正则表达示来处理字符串,而不是用eval来去掉字符中的双引号来实现计算
# # # 这里是将内层的(2-1)取出来
# # # Python3 正则表达式 | 菜鸟教程
# # # http://www.runoob.com/python3/python3-reg-expressions.html
# ------------------------------------------------------------

------------------------------------------------分割线-------------------------------------------------

------------------------------------------------分割线-------------------------------------------------

------------------------------------------------分割线-------------------------------------------------

'''
# ------------------------------------------------------------
# # 1、re模块 的解释
# # # 就其本质而言,正则表达式(或 RE)是一种小型的、高度专业化的编程语言,(在Python中)它内嵌
# # # 在Python中,并通过 re 模块实现。正则表达式模式被编译成一系列的字节码,然后由用 C 编写的匹
# # # 配引擎执行。
# # # 字符匹配(普通字符,元字符):
# # # 1 普通字符:大多数字符和字母都会和自身匹配
# # # >>> re.findall('alvin','yuanaleSxalexwupeiqi')
# # # ['alvin']
# # # 2 元字符:. ^ $ * + ? { } [ ] | ( ) \
# ------------------------------------------------------------
''' '''
# ------------------------------------------------------------
# # 2、re.findall(待匹配的字符串,被查找的对象)
# # # 在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。
# # # 注意: findall 匹配所有。
# # # Python3 正则表达式 | 菜鸟教程
# # # http://www.runoob.com/python3/python3-reg-expressions.html
# ------------------------------------------------------------
'''
#
# import re
# a1 = re.findall("alex","asfasgasdfalrex")
# a2 = re.findall("alex","asfasgasdfalex")
# print(a1)
# print(a2)
#
# # D:\Anaconda3\python.exe D:/C_cache/py/day22_os_json_re_etc_MoKuai/day22_6-re.py
# # []
# # ['alex']
# #
# # Process finished with exit code 0 '''
# ------------------------------------------------------------
# # 3、re.findall(待匹配的字符串,被查找的对象) 与 “.”元字符
# # # 一个元字符“.”代表一个未知的字符
# # # Python3 正则表达式 | 菜鸟教程
# # # http://www.runoob.com/python3/python3-reg-expressions.html
# ------------------------------------------------------------
'''
#
# import re
# a1 = re.findall("a.x","asfasgasdfalex")
# a2 = re.findall("a..x","asfasgasdfalex")
# a3 = re.findall("a....x","asfasgasdfalex")
#
# print(a1)
# print(a2)
# print(a3)
#
# # D:\Anaconda3\python.exe D:/C_cache/py/day22_os_json_re_etc_MoKuai/day22_6-re.py
# # []
# # ['alex']
# # []
# #
# # Process finished with exit code 0 '''
# ------------------------------------------------------------
# # 4、re.findall(待匹配的字符串,被查找的对象) 与 “^”元字符
# # # “^”代表待匹配的字符串的内容是在 被查找的对象中的开头部分开始匹配
# # # Python3 正则表达式 | 菜鸟教程
# # # http://www.runoob.com/python3/python3-reg-expressions.html
# ------------------------------------------------------------
'''
#
# import re
# a0 = re.findall("^a","alexsfasgasdfalex")
# a1 = re.findall("^a.x","alexsfasgasdfalex")
# a2 = re.findall("^a..x","alexsfasgasdfalex")
# a21 = re.findall("^a..x","wwwalexsfasgasdfalex") # 被查找的字符串的开头不是a
# a3 = re.findall("^a....x","alexsfasgasdfalex")
#
# print(a0)
# print(a1)
# print(a2)
# print(a21)
# print(a3)
#
#
# # D:\Anaconda3\python.exe D:/C_cache/py/day22_os_json_re_etc_MoKuai/day22_6-re.py
# # ['a']
# # []
# # ['alex']
# # []
# # []
# # ['x']
# #
# # Process finished with exit code 0 '''
# ------------------------------------------------------------
# # 5、re.findall(待匹配的字符串,被查找的对象) 与 “$”元字符
# # # “$”代表的是,待匹配的字符串的位置的末尾处,是在被查找对象的末尾的
# # # Python3 正则表达式 | 菜鸟教程
# # # http://www.runoob.com/python3/python3-reg-expressions.html
# ------------------------------------------------------------
'''
#
# import re
# a0 = re.findall("x$","alexsfasgasdfalex")
# a1 = re.findall("a.x$","alexsfasgasdfalex")
# a2 = re.findall("a..x$","alexsfasgasdfalex")
# a21 = re.findall("a..x$","alexsfasgasdfalexwwwww")
# a3 = re.findall("a....x$","alexsfasgasdfalex")
#
# print(a0)
# print(a1)
# print(a2)
# print(a21)
# print(a3)
#
# #
# # D:\Anaconda3\python.exe D:/C_cache/py/day22_os_json_re_etc_MoKuai/day22_6-re.py
# # ['x']
# # []
# # ['alex']
# # []
# # []
# #
# # Process finished with exit code 0 '''
# ------------------------------------------------------------
# # 6、re.findall(待匹配的字符串,被查找的对象) 与 元字符“*”
# # # 其前面的一个字符匹配0个或多个的表达式。
# # # Python3 正则表达式 | 菜鸟教程
# # # http://www.runoob.com/python3/python3-reg-expressions.html
# ------------------------------------------------------------
'''
#
# import re
# a0 = re.findall("9*","9le99xsfa999sga9999sdfal99999ex")
# # 结果表示从 x 出现的次数从0次-->无穷次
# a1 = re.findall("alex*","ale0alex122alexx333alexxx4444alexxxx55555")
#
# print(a0)
# print(a1)
#
# # D:\Anaconda3\python.exe D:/C_cache/py/day22_os_json_re_etc_MoKuai/day22_6-re.py
# # ['9', '', '', '99', '', '', '', '', '999', '', '', '', '9999', '', '', '', '', '', '99999', '', '', '']
# # ['ale', 'alex', 'alexx', 'alexxx', 'alexxxx']
# #
# # Process finished with exit code 0 '''
# ------------------------------------------------------------
# # 7、re.findall(待匹配的字符串,被查找的对象) 与 元字符“+”
# # # 其前面的一个字符匹配1个或多个的表达式。
# # # Python3 正则表达式 | 菜鸟教程
# # # http://www.runoob.com/python3/python3-reg-expressions.html
# ------------------------------------------------------------
'''
#
# import re
# a0 = re.findall("9+","9le99xsfa999sga9999sdfal99999ex")
# # 结果表示从 x 出现的次数从1次-->无穷次
# a1 = re.findall("alex+","ale0alex122alexx333alexxx4444alexxxx55555")
#
# print(a0)
# print(a1)
#
# # D:\Anaconda3\python.exe D:/C_cache/py/day22_os_json_re_etc_MoKuai/day22_6-re.py
# # ['9', '99', '999', '9999', '99999']
# # ['alex', 'alexx', 'alexxx', 'alexxxx']
# #
# # Process finished with exit code 0 '''
# ------------------------------------------------------------
# # 8、re.findall(待匹配的字符串,被查找的对象) 与 元字符“?”
# # # 其前面的一个字符匹配1个或0个的表达式。
# # # Python3 正则表达式 | 菜鸟教程
# # # http://www.runoob.com/python3/python3-reg-expressions.html
# ------------------------------------------------------------
'''
#
# import re
# a0 = re.findall("9?","9le99xsfa999sga9999")
# # 结果表示从 x 出现的次数从0次-->1次
# a1 = re.findall("alex?","ale0alex122alexx333alexxx4444alexxxx55555")
#
# print(a0)
# print(a1)
#
# # D:\Anaconda3\python.exe D:/C_cache/py/day22_os_json_re_etc_MoKuai/day22_6-re.py
# # ['9', '', '', '9', '9', '', '', '', '', '9', '9', '9', '', '', '', '9', '9', '9', '9', '']
# # ['ale', 'alex', 'alex', 'alex', 'alex']
# #
# # Process finished with exit code 0 '''
# ------------------------------------------------------------
# # 9、re.findall(待匹配的字符串,被查找的对象) 与 元字符“{}”
# # # {0,} == *
# # # {1,} == +
# # # {0,1} == ?
# # # {6} ==
# # # Python3 正则表达式 | 菜鸟教程
# # # http://www.runoob.com/python3/python3-reg-expressions.html
# ------------------------------------------------------------
'''
#
# import re
#
# # {0,} == * ,结果表示从 x 出现的次数从0次-->无穷次
# a0 = re.findall("alex{0,}","ale0alex122alexx333alexxx4444alexxxx55555")
#
# # {1,} == + ,结果表示从 x 出现的次数从1次-->无穷次
# a1 = re.findall("alex{1,}","ale0alex122alexx333alexxx4444alexxxx55555")
#
# # {0,1} == ? ,结果表示从 x 出现的次数从0次-->1次
# a2 = re.findall("alex{0,1}","ale0alex122alexx333alexxx4444alexxxx55555")
#
# # {1,3} == {1,3} ,结果表示从 x 出现的次数从0次-->无穷次 ??
# a3 = re.findall("alex{1,3}","ale0alex122alexx333alexxx4444alexxxx55555")
#
# # {3} == {0,3} ,结果表示从 x 出现的次数从0次-->无穷次 ??
# a4 = re.findall("alex{0,}","ale0alex122alexx333alexxx4444alexxxx55555")
#
# print("alex{?,?}".center(60,"-"))
# print("{0,} == * ",a0)
# print("{1,} == + ",a1)
# print("{0,1} == ? ",a2)
# print("{1,3} == {} ",a3)
# print("{3} == {1,3}",a4)
#
# # D:\Anaconda3\python.exe D:/C_cache/py/day22_os_json_re_etc_MoKuai/day22_6-re.py
# # -------------------------alex{?,?}--------------------------
# # {0,} == * ['ale', 'alex', 'alexx', 'alexxx', 'alexxxx']
# # {1,} == + ['alex', 'alexx', 'alexxx', 'alexxxx']
# # {0,1} == ? ['ale', 'alex', 'alex', 'alex', 'alex']
# # {1,3} == {} ['alex', 'alexx', 'alexxx', 'alexxx']
# # {3} == {1,3} ['ale', 'alex', 'alexx', 'alexxx', 'alexxxx']
# #
# # Process finished with exit code 0 '''
# ------------------------------------------------------------
# # 10、re.findall(字符序列1[字符序列2],被查找的对象) 与 元字符“[]”
# # # 字符序列2提供选择,查找是,字符序列1在序列2中选出某个字符进行搭配,之后再被查找对象中进行查找
# # # Python3 正则表达式 | 菜鸟教程
# # # http://www.runoob.com/python3/python3-reg-expressions.html
# ------------------------------------------------------------
'''
# import re
# a1 = re.findall("x[123]","x123aaax2aax3xx23")
# a2 = re.findall("x[123]A","x1A23aaax2Aaax3Axx2A3")
# a3 = re.findall("x[1,2,3]A","x1A23aaax23Aaax13Axx123A3")
# a4 = re.findall("x[1,2,*]A","x1A23aaax,Aaax*Axx123A3")
#
# print(a1)
# print(a2)
# print(a3)
# print(a4)
# #
# # D:\Anaconda3\python.exe D:/C_cache/py/day22_os_json_re_etc_MoKuai/day22_6-re.py
# # ['x1', 'x2', 'x3', 'x2']
# # ['x1A', 'x2A', 'x3A', 'x2A']
# # ['x1A']
# # ['x1A', 'x,A', 'x*A']
# #
# # Process finished with exit code 0 '''
# ------------------------------------------------------------
# # 11、re.findall(字符序列1[字符序列2],被查找的对象) 与 元字符“[ - ]*”
# # # 字符序列2提供选择,查找是,字符序列1在序列2中选出某个字符进行搭配,之后再被查找对象中进行查找
# # # 里面的“-”表示范围,[ a-z] ,表示a-z的小写字母;[ 0-9] ,表示a-z的小写字母
# # # Python3 正则表达式 | 菜鸟教程
# # # http://www.runoob.com/python3/python3-reg-expressions.html
# ------------------------------------------------------------
'''
#
# import re
# a1 = re.findall("x[0-9]*","x123aaax2aax3xx23")
# a2 = re.findall("x[0-9]*A","x1A23aaax2Aaax3Axx222A3")
#
# print(a1)
# print(a2)
#
# # D:\Anaconda3\python.exe D:/C_cache/py/day22_os_json_re_etc_MoKuai/day22_6-re.py
# # ['x123', 'x2', 'x3', 'x', 'x23']
# # ['x1A', 'x2A', 'x3A', 'x222A']
# #
# # Process finished with exit code 0 '''
# ------------------------------------------------------------
# # 12、re.findall(字符序列1[^字符序列2],被查找的对象) 与 元字符“[^ - ]”
# # # ^字符序列2进行取非,之后提供选择,查找是,字符序列1在序列2中选出某个字符进行搭配,
# # # 之后再被查找对象中进行查找
# # # 里面的“^”表示取非,[ a-z] ,表示a-z的小写字母;[ 0-9] ,表示a-z的小写字母
# # # Python3 正则表达式 | 菜鸟教程
# # # http://www.runoob.com/python3/python3-reg-expressions.html
# ------------------------------------------------------------
'''
#
# import re
# a0 = re.findall("x[^0-9]*","xx23") # 取次数最多
# a1 = re.findall("x[^0-9]*","x123aaax2aax3xx23")
# a2 = re.findall("x[^0-9]*A","xaA23aaaxWAaax3Axx222A3")
#
# print(a0)
# print(a1)
# print(a2)
#
# # D:\Anaconda3\python.exe D:/C_cache/py/day22_os_json_re_etc_MoKuai/day22_6-re.py
# # ['xx']
# # ['x', 'x', 'x', 'xx']
# # ['xaA', 'xWA']
# #
# # Process finished with exit code 0 '''
# ------------------------------------------------------------
# # 13、元字符之转义符\
# # # Python3 正则表达式 | 菜鸟教程
# # # http://www.runoob.com/python3/python3-reg-expressions.html
# ------------------------------------------------------------
'''
#
# import re
# data = "12+(34*6+2-5*(2-1))"
# r1 = re.findall("\d",data) # 匹配任意数字,等价于 [0-9]。
# r11 = re.findall("[0-9]",data)
# r2 = re.findall("\d+",data)
# r3 = re.findall("[0-9]+",data)
# r4 = re.findall("\D",data) # 匹配任意非数字
# r5 = re.findall("\D+","hello world 1234ww")
# r6 = re.findall("\s+",data) # 匹配任意空白字符,等价于 [\t\n\r\f]。
#
#
# print("\d ",r1)
# print("[0-9] ",r11)
# print("\d+ ",r2)
# print("[0-9]+ ",r3)
# print("\D ",r4)
# print("\D+ ",r5)
# print("\s+ ",r6)
#
# # D:\Anaconda3\python.exe D:/C_cache/py/day22_os_json_re_etc_MoKuai/day22_6-re.py
# # \d ['1', '2', '3', '4', '6', '2', '5', '2', '1']
# # [0-9] ['1', '2', '3', '4', '6', '2', '5', '2', '1']
# # \d+ ['12', '34', '6', '2', '5', '2', '1']
# # [0-9]+ ['12', '34', '6', '2', '5', '2', '1']
# # \D ['+', '(', '*', '+', '-', '*', '(', '-', ')', ')']
# # \D+ ['hello world ', 'ww']
# # \s+ []
# #
# # Process finished with exit code 0 '''
# ------------------------------------------------------------
# # 14、re.findall 在计算中的应用
# # # 在计算上的应用,使用正则表达示来处理字符串,而不是用eval来去掉字符中的双引号来实现计算
# # # 这里是将内层的(2-1)取出来
# # # Python3 正则表达式 | 菜鸟教程
# # # http://www.runoob.com/python3/python3-reg-expressions.html
# ------------------------------------------------------------
'''
#
# import re
# data = "12+(34*6+2-5*(2-1))"
# # eval处理
# e = eval(data)
# r = re.findall("\([^()]*\)",data)
#
# print(e)
# print(r,type(r),type(r[0]))
#
# # D:\Anaconda3\python.exe D:/C_cache/py/day22_os_json_re_etc_MoKuai/day22_6-re.py
# # 213
# # ['(2-1)'] <class 'list'> <class 'str'>
# #
# # Process finished with exit code 0

  

												

最新文章

  1. swift 资料
  2. 【java消息格式化】使用MessageFormat进行消息格式化
  3. ASP.NET MVC的请求生命周期
  4. css3内容持续更新ing
  5. 使用AppCan自带的升级功能实现移动端升级
  6. CSS+DIV常用命名
  7. mvc的一些知识点
  8. 24种设计模式--组合模式【Composite Pattern】
  9. Python核心编程笔记----注释
  10. JSP 基础
  11. js精要之构造函数
  12. 【设计模式+原型理解】第一章:使用Javascript来巧妙实现经典的设计模式
  13. spark2.1源码分析4:spark-network-common模块的设计原理
  14. div中的img垂直居中的方法,最简单! 偷学来的,,,不要说我抄袭啊(*^__^*)
  15. POJ 2387 Til the Cows Come Home (图论,最短路径)
  16. python获取两个dict的不同
  17. 关于 WebView 知识点的详解
  18. 最近公共祖先(LCA)(题目)
  19. Android 打开URL中的网页和拨打电话、发送短信功能
  20. Tomcat报错:Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/JFreeChartTest]]

热门文章

  1. python_django_在views模块中操作状态保持(session)
  2. 明年将制定个人信息保护法 网站部署https迫在眉睫
  3. 5.Struts2框架中的ServletAPI如何获取
  4. hdu第九场多校
  5. 经典单调栈最大子矩形——牛客多校第二场H
  6. Python 列表,元组,字典
  7. 如何用DOS命令查看占用某端口的程序及PID号
  8. DLL注入技术之劫持进程创建注入
  9. 买不到的数目 /// 结论公式 oj26316
  10. flask-Local源码流程解析