码迷,mamicode.com
首页 > 其他好文 > 详细

day⑤:re深入

时间:2016-02-26 18:46:22      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:

Regular Expression Modifiers: Option Flags

Regular expression literals may include an optional modifier to control various aspects of matching. The modifiers are specified as an optional flag. You can provide multiple modifiers using exclusive OR (|), as shown previously and may be represented by one of these ?

ModifierDescription
re.IPerforms case-insensitive matching.
re.LInterprets words according to the current locale. This interpretation affects the alphabetic group (\w and \W), as well as word boundary behavior (\b and \B).
re.MMakes $ match the end of a line (not just the end of the string) and makes ^ match the start of any line (not just the start of the string).
re.SMakes a period (dot) match any character, including a newline.
re.UInterprets letters according to the Unicode character set. This flag affects the behavior of \w, \W, \b, \B.
re.XPermits "cuter" regular expression syntax. It ignores whitespace (except inside a set [] or when escaped by a backslash) and treats unescaped # as a comment marker.

①.re.I #忽略大小写
  1. string2="ABCabc"
  2. m=re.search("[a-z]+",string2)
  3. m1=re.search("[a-z]+",string2,re.I)
  4. print(m.group())
  5. print(m1.group())
  6. #结果:
  7. abc
  8. ABCabc


②re.M #多行,"^"匹配每行的开头,"$"匹配每行的末尾,只影响^和$
  1. string3="yaobin \njack \nrain \nhy"
  2. m=re.search("^y.+$",string3)
  3. m1=re.search("^y.+$",string3,flags=re.M)
  4. if m:
  5. print("m: %s"%(m.group()))
  6. if m1:
  7. print("m1: %s"%(m1.group()))
  8. #结果
  9. m1: yaobin


③re.S #使"."匹配包含换行符在内的任意字符
  1. string="abc \ndsf"
  2. m=re.match("(^a.*$)",string)
  3. m1=re.match("(^a.*$)",string,re.S)
  4. if m:
  5. print("m: %s"%(m.group()))
  6. if m1:
  7. print("m1: %s"%(m1.group()))
  8. #结果:
  9. m1: abc
  10. dsf






day⑤:re深入

标签:

原文地址:http://www.cnblogs.com/binhy0428/p/5221228.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!