正则表达式之正则高级环视

先看几个案例:

$str='industry adflakfl industries industry';

//$reg='/industry|industries/i';

$reg='/industr(?:y|ies)/i';

preg_match_all($reg,$str,$res);

echo'

';

print_r($res);

echo'

';

$str='Windows3.1Windows2000Windows xp';

$reg='/Windows(?!95|98|NT|2000|xp)/i';

preg_match_all($reg,$str,$res);

echo'

';

print_r($res);

echo'

';

$str='aaaa12';

$reg='/^(?=[a-z])[a-z0-9]+$/i';

preg_match_all($reg,$str,$res);

echo'

';

print_r($res);

echo'

';

$str='aaaa12';

$reg='/(?![a-z])[a-z0-9]+$/i';

preg_match_all($reg,$str,$res);

echo'

';

print_r($res);

echo'

';

?>

提出环视的概念:

在正则规范中,我们可能会看到

(?:pattern)(?!patter)(?

(?:pattern)非捕获匹配

参考说明文档:

(?:pattern)匹配pattern但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。这在使用"或"字符(|)来组合一个模式的各个部分是很有用。例如,'industr(?:y|ies)就是一个比'industry|industries'更简略的表达式。

正则环视 php,正则高级环视相关推荐

  1. 正则环视 php,正则基础之 环视 Lookaround

    1       环视基础 环视只进行子表达式的匹配,不占有字符,匹配到的内容不保存到最终的匹配结果,是零宽度的.环视匹配的最终结果就是一个位置. 环视的作用相当于对所在位置加了一个附加条件,只有满足这 ...

  2. java正则 环视_Java正则环视和反向引用功能与用法详解

    本文实例讲述了Java正则环视和反向引用功能与用法.分享给大家供大家参考,具体如下: 环视 1.环视概念 环视,又称为零宽断言,简称断言. 环视强调位置(前面或后面),必须匹配环视表达式,才能匹配成功 ...

  3. 正则应用之——逆序环视探索

    1        问题引出 前几天在CSDN论坛遇到这样一个问题. 我要通过正则分别取出下面 <font color="#008000"> 与 </font> ...

  4. php 正则表达式 环视,正则表达式教程五 —— 环视(零宽断言)

    环视(lookahead),有些也叫零宽断言,不过总感觉这名字太深奥,我喜欢叫环视. 正如它的别名一样,它的匹配是"零宽度"的,是不会占用字符的,只匹配文本中的特定位置,所以环视表 ...

  5. awk,sed,grep运用正则与扩展正则

    1.正则与扩展正则的概述 2.示例 grep 过滤工具 ---格式:grep [选项] "正则表达式" 文件 egrep 过滤工具 ---格式:egrep [选项] "扩 ...

  6. php正则匹配sg-nc-wap_php正则匹配

    概述 正则表达式是一种描述字符串结果的语法规则,是一个特定的格式化模式,可以匹配.替换.截取匹配的字符串.常用的语言基本上都有正则表达式,如JavaScript.java等.其实,只有了解一种语言的正 ...

  7. 【编译原理】正则文法与正则式的等价性

    正则文法到正规式的转换规则: 文法表达式 正则式 规则1 A->xB B->y A=xy 规则2 A->xA|y A=x*y 规则3 A->x A->y A=x|y 正则 ...

  8. L1正则和L2正则的比较分析

    参考文献 1.L1正则和L2正则的比较分析详解 2.比较全面的L1和L2正则化的解释 3.正则化项L1和L2的区别 4.L1 相比于 L2 为什么容易获得稀疏解? 5.正则化L1和L2的区别 6.LR ...

  9. 融合一致性正则与流形正则的半监督深度学习算法

    融合一致性正则与流形正则的半监督深度学习算法 王杰1,2, 张松岩1,2, 梁吉业1,2 1山西大学计算机与信息技术学院 2计算智能与中文信息处理教育部重点实验室 摘要:半监督学习已被广泛应用于大数据 ...

最新文章

  1. dataframe 空值替换为0_Python数据分析:Pandas之DataFrame
  2. android界面布局错位,IOS 浏览器页面布局错位(如:点不到)的分析与解决
  3. 主流java框架理解
  4. 公共情报工具automater的基本使用
  5. 用css3实现Social Media Buttons
  6. 算法-冒泡排序和快速排序
  7. java判断读到末尾_Java 中的运算符和流程控制
  8. 2.1 数字图像处理——图像基础
  9. 如何使用Java帮助文档
  10. 51单片机小车的立项书_基于51单片机的寻迹小车设计报告.doc
  11. SQLServer数据库同步准实时解决方案
  12. 上班太无聊,我要考证 之 程序员考证
  13. matlab求解rl电路,matlab课程设计--RC串联电路与RL并联电路频率响应
  14. Prometheus Operator开始
  15. Amazon Silk 你所不知道的在Kindle背后的大数据
  16. 最新智商测试html5,2017年最新智商测试题
  17. dubbo是长连接还是短连接_重疾险交费年限长短区别是什么?重疾险交费年限长还是短的好?...
  18. Oracle针对EMP表的练习题(很有用,值得收藏)
  19. xcopy 复制目录及子目录
  20. VMware云管平台运维管理

热门文章

  1. MATLAB R2018a for Mac
  2. H265/HEVC编码NAL的单元的介绍
  3. 华为设备ENSP基本命令简介
  4. Sqoop常用命令回顾
  5. 照花台、无锡景、探清水河调
  6. python基础03/字典
  7. 2019年第一届长安杯解析,深入科普,理清思路,流量部分不太会,其他部分基本有详细解。
  8. 为什么要进行傅立叶变换?如何用Matlab实现快速傅立叶变换?
  9. 100个C语言的编程题
  10. MySQL主键约束-PRIMARY KEY