美文网首页
正则表达式

正则表达式

作者: 梦诗酒年华 | 来源:发表于2018-07-06 17:53 被阅读0次

正则表达式:

正则表达式也叫匹配模式,它由一组具有特定含义的字符串组成,通常用于匹配和替换文本。

正则表达式,是一个的技术,很多 编程语言支持正则表达式处理

正则的使用:(大小写意思正好相反)

re 中的常见方法:match()     findall()    finditer()  sub()   compile()  serch()

match匹配第一个字符

findall匹配所有的字符

元字符:

.                                                     #  匹配非换行的任意字符

\d   (degist)                                              #匹配数字<==>[0123456789]<==>[0-9]表示匹配中括号里面出现的数字也就是所有数字(数字只有0-9十个数字)

\D                                                #匹配非数字    

\w                                                 #匹配有效字符:大小写字母+  数字+ 下划线(_)+各国语言字符(不建议使用)

\W                                                #匹配特殊符号:-*/+=@#¥%&等符号

\s                                                   #匹配空格位(\t代表table键)

\S                                                   #匹配所有非空格位

^                                                    #以  开头

$                                                     #以  结尾

^\d.*a$                                        #表示以数字开头 以a结尾的中间字符串

\b                                                    #匹配单词

[]                                                    #表示查询[]中的字位 若是中文字体,则需要一个一个的写进去(不带,  若带则说明是要查询,)  0-9  a-z  A-Z区间可以任意选择比如[1-5]            [h-n]....若是多个区间则是直接写中间不加任何符号            [0-9a-zA-Z]也可以数字--字母            [0-z]用的是ascii码值排列

[^dfg]                                            #表示匹配除了dfg这几个字母之外的所有字符

注意:在python中两个"\"在输出中表示'\',因为'\'具有转义的作用

在正则里面‘\’也具有转移的转义的作用   在正则里面当字符里面有多个‘\’的时候要用r将‘\’的转义的作用去除(有事没事就+r)

位数:(须是英文符号)

*                           表示多个或者0个              

 +                        必须是1或者多个不能是0个(返回值有或者没有  返回没有的时候返回空字符”'')                         

  ?                       表示0或者1

{m}                     表示m位

{m,}                    表示至少有m位

{m,n}                  表示在m和n位之间(书写时不要有空格),闭区间

==============================================代码如下=============================================

re模块的高级应用:

1、 serch:

执行正则表达式搜索并且在搜索结束后返回所匹配到的串,只返回第一次匹配的结果 返回值是一个迭代器。而findall则是返回所有匹配到的所有串。

2、find:

匹配所有的对象,返回一个列表

3、sub:

实现查找替换

4、split:

分割字符串,结果返回列表

5、finditer:

返回一个迭代器iterator,这个iterator返回顺序、内容和re.findall()相同

6、compile:

用来编译正则表达式模式字符串,并生成正则表达式对象。即改变正则表达式表达方法。

re.I(IGNORECASE)忽略大小写,括号内是完整的写法

re.M(MULTILINE)多行模式,改变^和$的行为

re.S(DOTALL)点可以匹配任意字符,包括换行符

re.L(LOCALE)做本地化识别的匹配,不推荐使用

re.U(UNICODE)使用\w \W \s \S \d \D使用取决于unicode定义的字符属性。在python3中默认使用该flag

re.X(VERBOSE)冗长模式,该模式下pattern字符串可以是多行的,忽略空白字符,并可以添加注释

=========================================================================

贪婪与懒惰:

在Python中正则默认是贪婪模式(个别语言中也可能是非贪婪模式),贪婪模式就是总会尝试匹配更多的字符。非贪婪模式即懒惰模式则相反 懒惰模式总尝试匹配最少的字符。

在*、?、+、{m,n}后面加上?,可以将贪婪模式变成非贪婪模式

相关文章

  • Linux命令行与Shell脚本编程大全-shell正则表达式

    本章内容: 定义正则表达式 了解基本正则表达式 扩展正则表达式 创建正则表达式 定义正则表达式 正则表达式是你定义...

  • 正则相关

    正则表达式基本语法 正则表达式常见字符 正则表达式特殊字符 正则表达式数量词 正则表达式边界匹配 正则表达式逻辑或...

  • 正则表达式系列-1

    正则表达式系列-1正则表达式系列-2正则表达式系列-3正则表达式系列-4 什么是正则表达式 正则表达式就是用事先定...

  • 正则表达式

    正则表达式 - 教程正则表达式 - 简介正则表达式 - 语法正则表达式 - 元字符正则表达式 - 运算符优先级正则...

  • Python基础入门 - 正则表达式与综合实战

    1. 初识正则表达式 1.1 介绍 步骤介绍正则表达式入门及应用正则表达式的进阶正则表达式案例 1.2 正则表达式...

  • Java正则表达式参考

    Java正则表达式入门 java正则表达式应用 深入浅出之正则表达式(一) 深入浅出之正则表达式(二) 正则表达式...

  • 正则表达式

    正则表达式 正则表达式就是记录文本规则的代码 正则表达式常用的元字符 正则表达式常用的限定符 正则表达式举例:这里...

  • Python爬虫(十)_正则表达式

    本篇将介绍python正则表达式,更多内容请参考:【python正则表达式】 什么是正则表达式 正则表达式,又称规...

  • python正则表达式

    本篇将介绍python正则表达式,更多内容请参考:【python正则表达式】 什么是正则表达式 正则表达式,又称规...

  • 正则表达式

    了解正则表达式基本语法 能够使用JavaScript的正则对象 正则表达式简介 什么是正则表达式 正则表达式:用于...

网友评论

      本文标题:正则表达式

      本文链接:https://www.haomeiwen.com/subject/klevuftx.html