1-20-1-Python\u4e4b\u6b63\u5219\u8868\u8fbe\u5f0f.docx - 1.\u672c\u8282\u8bfe\u8981\u70b9\uff1a python \u6b63\u5219\u8868\u8fbe\u5f0f re \u6a21\u5757 re.complit re.match re.search re.findall re.finditer

1-20-1-Pythonu4e4bu6b63u5219u8868u8fbeu5f0f.docx -...

This preview shows page 1 - 3 out of 8 pages.

1. 本节课要点: python 正则表达式 re 模块 re.complit re.match re.search re.findall re.finditer respilt re.sub 区别 1.1 python 正则表达式 正则表达式是一个特殊的字符序列,他能帮你检查字符串是否与某种模式匹配 ^ 匹配开始 $ 匹配行尾 . 匹配出换行符以外的任何单个字符,使用 -m 选项允许其匹配换行符也是如此 [...] 匹配括号内任何单个字符(也有或的意思) [^...] 匹配单个字符或多个字符不在括号内 * 匹配 0 个或多个前面的字符 ( 任意次,贪婪模式 ) + 匹配 1 个或多个前面出现的表达式 ( 非贪婪模式 ) 匹配 0 次或 1 次前面出现的表达式 ( 非贪婪模式 ) {n} 精确匹配前面出现的表达式的数量 {n,m} 匹配至少 n 次到 m a | b 匹配 a b * ?, + ?, ??,{m,n}? 这样在 * + ,?, {m,n} 变成非贪婪模式 (re) 组正则表达式并及时匹配的文本 (? imx 暂时切换上 i,m x 正则表达式的选项,如果括号中,仅该地区受到影响 (?: re) 组正则表达式而匹配的记住文字 (?# .... ) 注释 (?=re ) 指定使用的模式位置,没有一个范围 (?!re) 使用指定模式取反位置,没有一个范围 (?<n1>..) 用列表的方式匹配 url(r'^abc/(?P<name>\w+/)$',views.cccc), (r"/index/(?P<page>\d*)", home.IndexHandler), \d 数字 [0-9] digit \D 非数字 == [^0-9] or [^\d] \s 空白字符 \S 非空白字符
Image of page 1
\w 字母数字下划线 word \W 非字母数字下划线 1.2 re 模块 re 模块使用 python 拥有全部的正则表达式功能 re.I(re.IGNORECASE): 忽略大小写(括号内是完整写法) re.M MULTILINE ): ( 多行模式,改变“ ^”,"$" 的行为 ) re.S(DOTALL) ( 点任意匹配模式,改变 "." 的行为 ) re.X(VERBOSE): 详细模式。这个模式下正则表达式可以是多行,忽略空白字符,并可以加入注释。 1.3 re.complit 使用 re.complit 编译正则表达式 compile 函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象。该对象拥有一系列方法 用于正则表达式匹配和替换 格式: re.match(pattern,string,flags=0) #pattern: 正则模型, string :要匹配的字符串
Image of page 2
Image of page 3

You've reached the end of your free preview.

Want to read all 8 pages?

  • Fall '19

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture