Python正则表达式语法补充

太阳城8827

  千锋JAVA开发学院2天前我要分享

  补充两个初学时容易遗漏,但是对于实际应用Regex特别重要的知识点。

  .* :匹配任意字符的任意次(可用于过滤掉无关的文字)

  ?:非贪婪匹配

  下面看几个Demo:

  image.php?url=0Md9oj0HDM

  结果:

  boooooobbbby123

  bb

  image.php?url=0Md9ojmMb3

  结果:

  boooooobby123

  boooooobb

  image.php?url=0Md9ojU2Zm

  结果:

  boooooobby123

  boooooob

  结果和贪婪算法有关,贪婪算法同时从两个方向(左,右)看匹配结果

  取消贪婪的方式,匹配到第一个b就返回:

  image.php?url=0Md9ojtUVJ

  结果:

  boooooobbbby123

  boooooob

  image.php?url=0Md9ojaZVt

  结果:

  boooooobbbby123

  boooooobbbb

  image.php?url=0Md9ojoFGE

  结果:boooooobbbby123

件的字符串逐个都匹配一遍,返回最后一次匹配的结果

  举例:

  image.php?url=0Md9ojak8r

  结果:bbb 件的字符串是bbb)

  image.php?url=0Md9ojipY4

  结果:bab 件的字符串是bbb)

  中括号三大用途:

件之一就能匹配成功

  2.定义区间[0-9] ,{ }:定义出现次数, 比如:\d{1,2} 出现1~2个数字,可以匹配日期中的月份,如’06’和’6’

  3.取消特殊含义的字符(小数点等)代表的意义,比如[. ]中的小数点,不再代表匹配任意字符,除了换行符,

  而代表单纯的小数点(可以用代码验证一下)

  提取汉字:[一-]

  image.php?url=0Md9ojOiib

  结果:京大学

  出现上面结果的原因:受到了贪婪匹配的影响,匹配的第一个结果是南,第二个结果是京,

件的前面加一个?,取消贪婪

  image.php?url=0Md9ojx3sF

  结果:南京大学

  收藏举报投诉

达到当天最大量