正则表达式-前后查找(六)
来源:互联网 发布:python 能做界面吗 编辑:程序博客网 时间:2024/06/07 02:43
前面讲到的正则表达式都是如何匹配表达式所表达的意思,如[a-z]+是匹配1个以上a-z的字母。今天我们讲到的是前后查找的例子,首先我们讲到向前查找的语法:
(?=表达式)
我们举一个例子,假设我们在如下列表中想获取协议名
http://ftp://https://
按照我们一般的写法是
[a-z]+:
这样写存在一个问题,就是会匹配“:”本身。这样就不是想要的结果,如果不想要匹配冒号本身,就需要使用本章介绍的向前匹配,基本的思路使用冒号先前匹配一系列字母:
[a-z]+(?=:)
这样匹配的结果就是
httpftphttps
这样就符合我们的要求了,既返回了我们想要的协议列表。
接下来我们讲到向后匹配,同样的我们来说语法,向后匹配的语法与向前匹配很像,只是加了一个箭头:
(?<=表达式)
假设我们要匹配一下列表中的数字:
$12.36$25.36$45.65
如果仅需要匹配数字,而不是“$”符号,同前面一样,我们需要使用向后匹配,按照前面的写法,写成是这样的:
(?<=\$)[0-9.]+
最终匹配的结果就是:
12.3625.3645.65
如果综合运用向前和向后匹配,我们可以举一个扒网页的例子,一般html语法是这样的,如爬取到的网页标题一般是这样的:
<title> this is title</title>
那么如何获取title标签内部的值,而不匹配或消费本身呢?最终的表达式应该是如下,有兴趣可以仔细研究下这种写法
(?<=<title>).*?(?=</title>)
0 0
- 正则表达式-前后查找(六)
- 正则表达式-前后查找
- 正则表达式--前后查找
- java正则表达式 前后查找
- 正则表达式学习(十一)前后查找lookaround
- 靓号正则表达式(前后向查找等) 和 apache正则包使用
- 正则表达式 进阶(二)-- 回溯引用、前后查找、嵌入条件
- 正则表达式(六)
- 正则表达式规则(六)
- javascript(六)正则表达式
- 正则表达式入门经典(学习笔记六)——向前查找(lookahead)和向后查找(lookbehind)
- Linux学习(六)-----正则表达式
- 每天一点正则表达式积累(六)
- java学习笔记(六) -- 正则表达式
- Linux学习总结(六): 正则表达式
- 正则表达式---六(其他通用规则)
- 正则表达式 regular expression(六)
- javascript之(六)正则表达式
- 字母图形
- Maximum Depth of Binary Tree ---LeetCode
- 【J2EE】---JVM简介
- Google Inception v1 - v4 papers & 发展历程
- Android核心基础(快速入门)
- 正则表达式-前后查找(六)
- 日期处理
- cocos2dx 通过plist文件 创建精灵
- Linux部署javaWeb项目环境
- Android 适配器使用与介绍
- redis入门实例
- React Native学习(二)
- Log4j基本使用方法
- day02总结