| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> Python之re -> 正文阅读 |
|
[Python知识库]Python之re |
定义:re模块称为正则表达式; 作用:创建一个"规则表达式",用于验证和查找符合规则的文本,广泛用于各种搜索引擎、账户密码的验证等; 预定义字符:
特殊字符:
反斜杠问题字符串中有反斜杠的,需要对反斜杠做转义:
在正则表达式中,我们需要用多个反斜杠来匹配一个反斜杠:
匹配方法1、match:在目标文本的开头进行匹配
2、search:在整个目标文本中进行匹配 3、findall:扫描整个目标文本,返回所有与规则匹配的子串组成的列表,如果没有匹配的返回空列表 4、finditer:扫描整个目标文本,返回所有与规则匹配的子串组成的迭代器 5、fullmatch:要求目标文本要完全匹配规则,否则返回None 6、sub:将与规则匹配的子串替换为其他文本
7、split:从与规则匹配的子串进行切割,返回切割后子串组成的列表 8、匹配对象的方法(对匹配到的对象使用): ():分组字符,可以为匹配到的内容分组,快速获取到分组中的数据
start:返回匹配到的内容在文本中的起始索引end:返回匹配到的内容在文本中的结束索引span:返回由起始索引和结束索引组成的元组 推荐 (一)原始字符 r的含义
1、正则表达式里边<.+?>表示匹配:“<”开始,其后至少含有1个除了“>”的任意字符,且再遇到“>”,就结束匹配。 2、< 表示:匹配字符“<”。 3、正则表达式中?.* 与 .*? 是贪婪匹配与非贪婪匹配的区别。 比如说匹配输入串A: 101000000000100 使用 1.*1 将会匹配到1010000000001, 匹配方法: 先匹配至输入串A的最后, 然后向前匹配, 直到可以匹配到1, 称之为贪婪匹配。 使用 1.?1 将会匹配到101, 匹配方法:?匹配下一个1之前的所有字符, 称之为非贪婪匹配。 所有带有量词的都是非贪婪匹配: .*?, .+?, .{2,6}? 甚至 .?? 较为常用的元字符包括: “+”, “*”,以及 “?”。 “+”元字符规定其前导字符必须在目标对象中连续出现一次或多次。 “*”元字符规定其前导字符必须在目标对象中出现零次或连续多次。 “?”元字符规定其前导对象必须在目标对象中连续出现零次或一次。
JS: (.+)默认是贪婪匹配 (.+?)为惰性匹配 疑问号让.+的搜索模式从贪婪模式变成惰性模式。 var str = 'aaa<div style="font-color:red;">123456</div>bbb' <.+?>会匹配<div style="font-color:red;"> <.+>会匹配<div style="font-color:red;">123456</div> 要在浏览器测试结果的话,输入: var str = 'aaa<div style="font-color:red;">123456</div>bbb' str.match(/<.+?>/); str.match(/<.+>/);
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 11:40:31- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |