18年17周:Python正则表达式的理解

前言:

Python是一门语言,是一门计算机编程语言。那么,对于其所为的“正则表达式语法”也就有法可言。
正则表达式(简称RE)是用来处理字符串,所谓的字符串,可以类似为语句。
类比:语句--字符串,语法--正则表达式
作用:从乱七八糟的字符串中找到符合你语法规则的字符串。
小例子:r'^\d+$'

RE正文:理论-案例-套路

语法对比:

  • 人类语言中的语法:主,谓,宾。(中国人)
  • 正则表达式的语法:头,值,量,尾。(三部分)一句话记忆:“RE有品值量”。

内容对比:
中文:7000汉字(数字仅仅只是拿来理解不是科普)。
RE:正则表达式全部符号解释

RE理论:

RE语法详解:

  • 特别详解:
  • 会遇到的三类括号:{ }, [ ], ( )。
    其中{n,m}表示量的范围。n<=字符个数<=m
    其中[x-y]表示值的范围。x<=字符范围<=y
    其中(group)表示组的分界。将字符分组。
    举例:{1,}表示1<=字符个数<=无穷大
    举例:{,520}表示0<=字符个数<=520
    举例:[a-f]表示a<=字符范围<=f等价于[abcdef]
    举例:[A-Z]表示A<=字符范围<=Z等价于所有大写字母
    举例:[2-5]表示2<=字符范围<=5等价于[2345]
    举例:[0-9]表示0<=字符范围<=9等价于所有的数字
  • 有品位-位置语法:
  • ^:表示开头,$:表示结尾
  • \b:表示(右)边界(border)
  • 有质量-量的语法简称:涉及{n,m}
  • 个数也分为三类:0,1,01(洞妖洞妖呼叫洞妖洞妖)
  • 0个的简称:*等价于{0,},至少0个
  • 1个的简称:+等价于{1,},至少1个
  • 0,1个的简称:?等价于{0,1},至少0个,至多1个
  • 有质量-值的语法简称:涉及[x-y]
  • 符号分为三类:数字-字母-特殊
  • 数字:\d是[0-9]的简称,表示所有的小写字母。(digit)
  • 字母:不好意思没有简称。只有“字母数字下划线”三者的合并简称:\w表示[a-zA-Z0-9_]类似C语言的变量取名。
  • 特殊:\s等价于[\r\n\f\t\v],回车换行换页制表垂直(rturn-newline-form feed-table-vertical)特殊字符要加反斜杠才能显得特殊,否则跟咸鱼有什么区别。
  • 更特殊:.点表示所有的字符(除了\n换行newline)

RE案例:

①r' ^\d+$ '等价于r '^[0-9]{1,}$' 将简称换掉
直译:****头^ [0-9] {1,}
意译
至少1个数字
②r '^[a-z]{1,}$'
直译^ [a-z] {1,}
意译:至少1个小写字母
③r '^[A-Z]{1,}$'
直译^ [A-Z] {1,}
意译:至少1个大写字母
①r' ^\d$ '等价于r '^[0-9]{0,}' (将简称换掉)
直译
^ [0-9] {0,}
意译:至少0个数字
②r '^[a-z]{0,}$'
直译
^ [a-z] {0,}
意译:至少0个小写字母
③r '^[A-Z]{0,}$'
直译
^ [A-Z] {0,}
意译:至少0个大写字母
①r' ^\s+$ '等价于r '^[\r\n\f\t\v]]{1,}' 将简称换掉
直译
^ [0-9] {1,}
意译:至少0个数字
②r '^[\r\n\f\t\v]{1,}$'
直译
^ [a-z] {1,}
意译:至少1个特殊符号
③r '^[\r]{1,}$'
直译
^ [A-Z] {1,}
意译:至少1个回车
r*eturn符

RE套路:


未完待续~2018年4月29日20:57:41

你可能感兴趣的:(18年17周:Python正则表达式的理解)