部分高级正则特性 使用
1. *? 和 +? 和 {n,}? 懒惰匹配
1.1 非懒惰 ↓
echo "ab2c121a" |perl -ne 'print $1 if /(.*)"d/;' #print ab2c12
1.2 懒惰 ↓
echo "ab2c121a" |perl -ne 'print $1 if /(.*?)"d/;' #print ab
2. 回溯引用和前后查找:
2.1 向前查找 (?=..) ↓
echo "ab2c121a" |perl -ne 'print $1 if /(.*?)(?=2)/;' #print ab
2.2 向后查找 (?<=..) ↓
echo "ab2c121a" |perl -ne 'print $1 if /(?<=2)(.*)(?=2)/;' #print c1
2.3 负向-前/后 查找 (?!..) (?<!..)
#不能匹配 .. ↓
echo "ab2c121a" |perl -ne 'print $1 if /(?<!2)(c.*)/;' #print 无
echo "ab2c121a" |perl -ne 'print $1 if /(?<!3)(c.*)/;' #print c121a
2.4 条件 ?() = if ?()| = if else
# ?() 例如 <p> </p> 必须同时出现 ↓ ↓
echo "<p>xx</p>"|perl -ne 'print $2 if /(<p>)?("w*)(?(1)<"/p>)/' #print xx
echo "<p>xx"|perl -ne 'print $2,""n" if /(<p>)?("w*)(?(1)<"/p>)/' #print 空
echo "xx"|perl -ne 'print $2 if /(<p>)?("w*)(?(1)<"/p>)/' #print xx
# ?()| 例如 还是上面的,
# 当 有<p> 可以接</p> 也可以接 数字结尾 ↓
echo "<p>xx1</p>"|perl -ne 'print $2 if /(<p>)?("w*)(?(1)<"/p>|"d)/' #print xx1
echo "<p>xx1"|perl -ne 'print $2 if /(<p>)?("w*)(?(1)<"/p>|"d)/' # print xx
本文转自博客园刘凯毅的博客,原文链接:部分高级正则特性 使用,如需转载请自行联系原博主。
部分高级正则特性 使用相关推荐
- Redis高级实用特性:发布及订阅消息
在之前的文章中,介绍过Redis数据库高级实用特性中的持久化机制,今天为大家介绍Redis的另一高级实用特性--发布及订阅消息. 发布订阅(pub/sub)是一种消息通信模式,主要的目的是解耦消息发布 ...
- Redis学习第八课:Redis高级实用特性(一)
Redis高级实用特性 注:我学习的环境是vmware7.1 + ubantu10.10+ redis 3.0.2 1.安全性 设置客户端连接后进行任何其他指定前需要的密码.因为redis速度相当快, ...
- PostgreSQL用户应掌握的高级SQL特性
PostgreSQL数据库在SQL和NoSQL方面具有很多丰富的特性,本文将先从SQL高级特性入手来进行介绍. **一.PostgreSQL的SQL高级特性 ** 这一部分主要介绍PostgreSQL ...
- MySQL高级 - MyISAM特性
MyISAM MyISAM 不支持事务.也不支持外键,其优势是访问的速度快,对事务的完整性没有要求或者以SELECT.INSERT为主的应用基本上都可以使用这个引擎来创建表 .有以下两个比较重要的 ...
- MySQL高级 - InnoDB特性
InnoDB InnoDB存储引擎是Mysql的默认存储引擎.InnoDB存储引擎提供了具有提交.回滚.崩溃恢复能力的事务安全.但是对比MyISAM的存储引擎,InnoDB写的处理效率差一些,并且 ...
- java高级类_Java高级类特性(一)
权限类内同包不同包子类不同包非子类 private √ × × × default √ √ × × protected √ √ √ × public √ √ √ √ 四.super关键字的使用 pac ...
- SQL 必知必会·笔记20高级SQL特性
1. 约束 约束(constraint)就是管理如何插入或处理数据库数据的规则.DBMS通过在数据库表上施加约束来实施引用完整性. 1.1 主键 主键是一种特殊的约束,用来保证一列(或一组列)中的值是 ...
- 绕过路由系统 (Bypassing the Routing System)| 高级路由特性
转载于:https://www.cnblogs.com/ganmk--jy/p/5573900.html
- 数据库的高级SQL特性
一.约束 1.唯一约束 唯一约束用来保证一个列中的数据唯一,他们和主键的区别是: 表可包含多个唯一约束,但每个表只有一个主键 唯一约束列可包含null值 唯一约束列可修改.更新及重复使用 2.检查约束 ...
最新文章
- vs2010 学习Silverlight学习笔记(7):控件样式与模板
- R语言使用ggplot2包使用geom_violin函数绘制分组小提琴图(配置边界颜色)实战
- 《关系营销2.0——社交网络时代的营销之道》一从单向沟通转向多方沟通
- arcface mxnet转onnx
- UA MATH563 概率论的数学基础 中心极限定理21 Skorohod定理的证明
- 不是内部或外部命令,也不是可运行的程序 或批处理文件。(如果放了环境变量还是没有用的话)(已经解决)
- 【学习笔记】《数据挖掘:理论与算法》CH5 支持向量机
- [C # 读书笔记]interface 接口 abstract
- 【BZOJ3676】 [Apio2014]回文串(SAM,manacher)
- android glide本地图片,Glide下载图片并保存到本地
- JDK8那些惊为天人的新特性
- gtj2018如何生成工程量报表_如何更高效地使用EXCEL,一键生成报表?
- 微信小程序批量获取input的输入值,监听输入框,数据同步
- SQL语句之表的创建和使用
- 移动开发技术(Android)——实验1 Android开发环境搭建及简单程序实现
- VirtualBox设置桥接网络
- Win10系统上设置Microsoft store的默认下载路径
- 如把联想电脑计算机图标放在桌面上,桌面无“我的电脑”图标
- PnPUtil (PnPUtil.exe) 是一个命令行工具,使管理员可以执行以下操作驱动程序包
- JSON.parse解析失败(报错,出错)