Python 7) 正则表达式(re包)

来源:互联网 发布:视频剪辑软件学习 编辑:程序博客网 时间:2024/06/17 10:43

         

               正则表达式则为重点,  正则表达式(regular  expression),主要功能是从字符串(String) 中通过特定的模式(pattern),搜索想要找到的内容.


语法

     前边我们简介了字符串相关的处理函数,我们可以通过这些函数去实现简单的搜索功能,从而搜索想要的内容,
         比如说从字符串"Hello  World" 中搜索是否有"world"这一子字符串,其实我们有时候只是大概知道我们所搜索要找到的什么,而并不是说说明了我在找"world", 再给大家比如吧,我们想找到字符串中包含的数字,从0到9的任何一个.那么这些目标就可以写入正则表达式....
         
         使用正则表达式需要标准库中的一个包re.
     import re 
     z  = re.search("[0-9]", "abcd4ef")
     print(m.group(0))

     [0-9]使我们所谓的正则表达式,re.search是接收两个参数,从字符串中得到我们所想到的[0-9]任意一个数字字符.
     
  
   

正则表达式的函数


   z  =    re.search(pattern,string)        -------------------> 搜索整个字符串,知道发现符合的子字符串
   z  =    re.match(pattern,string)     --------------------->从头开始检查是否符合正则表达式
    上面这两个函数选择一个进行搜索,如果我们使用re.match( ) 的话,就会得到 None,因为字符串的开头则是"a",所以不符合语法中 "[0-9]" 的要求的.

    常用的正则表达式函数还有:
   re.split( )     ------------------------>根据正则表达式分割字符串,将分割后的所有子字符串放在一个表中返回.
   re.findAll( )  ------------------------->根据正则表达式搜索字符串,将所有符合的子字符串放在一个表中返回.
   re.complie(  )

写一个正则表达式


 字符
X字符,x表示任意字符

\\ 反斜线字符 :如果是一个\必须在正则中使用两个反斜线代表一个\

\t 制表符 ('\u0009') 

\n 新行(换行)符 ('\u000A') 

\r 回车符

字符类
[abc] a、b 或 c(简单类
) 

[^abc]任何字符,除了 a、b 或 c(否定)

[a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围):用户名:4-14位的数字或者字母(大小写均可) 
预定义字符类

.                      任何字符邮箱本身就包含有.比如:zhangsan@qq.com:如果本身是.--->\.

\d 数字:         [0-9] 
       \d----->在java代码中写正则:\\d

\w 单词字符: [a-zA-Z_0-9]

                 \D  :                [ ^0-9 ]

                 \W :                 [^a-zA-Z_0-9]

                  \s :                  一个空格

                   \S :                 一个非空格

     在java中只要是符合单词的组成规则都可以使用:举例:用户名:5-15为的字母或者数字
边界匹配器
^             字符串的起始位置
 

$            字符串的结尾位置

\b            单词边界 

hellworld?haha:xx?
Greedy 数量词
X?: X字符出现了一次或者一次也没有

X+:  X字符出现了一次或多次

X*:  X字符出现了0次或多次

X{n}:X字符恰好出现了n次

X{n,}:X字符至少出现n次

X{n,m}:X字符恰好出现了n次但是不超过m次



  总结

   re.search( )   re.match( )   

   z  =    re.search(pattern,string)  

   z  =    re.match(pattern,string)  

   字符串语法表达式   
     
原创粉丝点击