常用模块 2018-4-9

Posted tianyu105529

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常用模块 2018-4-9相关的知识,希望对你有一定的参考价值。

re模块

  re模块:     

            什么是正则:正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法。或者说:正则就是用来描述一类事物的规则。

     (在Python中)它内嵌在Python中,并通过 re 模块实现。正则表达式模式被编译成一系列的字节码,然后由用 C 编写的匹配引擎执行

re模块的通常用法:

 

 

 

重复匹配:
  . ? * + {m,n} .* .*?
  1、.:代表除了换行符外的任意一个字符
  print(re.findall(\'a.c\',\'abc a1c aAc aaaaaca\\nc\',re.DOTALL))
  2、?:代表左边那一个字符重复0次或1次
  print(re.findall(\'ab?\',\'a ab abb abbb abbbb abbbb\'))
  3、*:代表左边那一个字符出现0次或无穷次
  print(re.findall(\'ab*\',\'a ab abb abbb abbbb abbbb a1bbbbbbb\'))
  4、+ :代表左边那一个字符出现1次或无穷次
  print(re.findall(\'ab+\',\'a ab abb abbb abbbb abbbb a1bbbbbbb\'))
  5、{m,n}:代表左边那一个字符出现m次到n次
  print(re.findall(\'ab?\',\'a ab abb abbb abbbb abbbb\'))
  6、.*:匹配任意长度,任意的字符=====》贪婪匹配
  print(re.findall(\'a.*c\',\'ac a123c aaaac a *123)()c asdfasfdsadf\'))
  7、.*?:非贪婪匹配
  print(re.findall(\'a.*?c\',\'a123c456c\'))
  ():分组
  []:匹配一个指定范围内的字符(这一个字符来自于括号内定义的)
  []内的^代表取反的意思
  | :或者

  (?:):代表取匹配成功的所有内容,而不仅仅只是括号内的内容
  re 模块的其他用法
re.search 扫描整个字符串并返回第一个成功的匹配。

  re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而re.search匹配整个字符串,直到找到一个匹配。

 

 

以上是关于常用模块 2018-4-9的主要内容,如果未能解决你的问题,请参考以下文章

nodejs常用代码片段

Python 常用模块学习

如何使用模块化代码片段中的LeakCanary检测内存泄漏?

C#常用代码片段备忘

swift常用代码片段

# Java 常用代码片段