网上有一篇文章写的很好。请参见      正则表达式之环视 。现将自己的理解记录下来。

环视(lookaround)可以理解为限定条件。即字符串中,某个字符左边或右边能出现什么,不能出现什么。只是一个限定。从英文lookaround字面理解,因为英文是二维的,可以理解为看看左边和右边的情况。再匹配。

1、正则中开启环视

用小括号,?来开启一个环视。

表达式 说明
(?<=Expression) 逆序肯定环视,表示所在位置左侧能够匹配Expression
(?<!Expression) 逆序否定环视,表示所在位置左侧不能匹配Expression
(?=Expression) 顺序肯定环视,表示所在位置右侧能够匹配Expression
(?!Expression) 顺序否定环视,表示所在位置右侧不能匹配Expression

2、代码理解

例子1:字符右边限定 (顺序环视)

           #region 环视 匹配除<p>或</p>之外的其余标签。string str = "aa<p>one</p>bb<div>two</div>cc";//开启一个顺序否定环视。 "<"字符右边不能出现"/?p\b)"即"p"和"/p"。 MatchCollection m = Regex.Matches(str, @"<(?!/?p\b)[^>]+>");for (int i = 0; i < m.Count; i++){MessageBox.Show(m[i].Value); //结果<div>和</div>} #endregion

例子2:字符左右边同时限定(逆序和顺序环视)

            #region string str = "aa<p>one</p>bb<div>two</div>cc";MatchCollection m = Regex.Matches(str, @"(?<=<div>)[^<]+(?=</div>)");for (int i = 0; i < m.Count; i++){MessageBox.Show(m[i].Value); //结果two} #endregion

例子3:数字格式化成用“,”的货币格式。  

转载于:https://www.cnblogs.com/crhdyl/p/4920946.html

c#正则表达式--环视相关推荐

  1. 深入理解正则表达式环视的概念与用法

    在<深入理解正则表达式高级教程-环视>中已经对环视做了简单的介绍,但是,可能还有一些读者比较迷惑,今天特意以专题的形式,深入探讨一下正则表达式的环视的概念与用法. 深入理解正则表达式环视的 ...

  2. php 正则表达式 环视,php正则表达式环视详解

    php正则表达式环视详解 1. 顺序肯定环视(?=exp) 零宽度正预测先行断言,又称顺序肯定环视,断言自身出现位置的后面能匹配表达式exp. 比如,匹配以"ing"结尾的单词前面 ...

  3. 正则表达式——环视(Lookaround)(几分钟学会环视)

    正则运行测试网址:https://regex101.com/ 最开始学环视,是通过看<正则表达式必知必会>这本小册子,学完后感觉很模糊,好像会了,又好像不清楚,直到在网上看到下面这张图,才 ...

  4. 正则环视 php,php正则表达式环视详解

    1. 顺序肯定环视(?=exp) 零宽度正预测先行断言,又称顺序肯定环视,断言自身出现位置的后面能匹配表达式exp. 比如,匹配以"ing"结尾的单词前面部分(除了"in ...

  5. 正则表达式环视否定例子

    使用正则表达式来搜索文本是高效快捷的方式 比如要搜索下文中的红色字体, <tr><td>123</td><td>test</td><t ...

  6. php 正则表达式 环视,深入理解正则表达式高级教程

    前面已经写过一篇文章<我眼里的正则表达式(入门)>介绍过正则表达式的基础和基本套路正则三段论:定锚点,去噪点,取数据了,接下来这篇文章,补充一点相对高级的概念:1. 概念一:按单字符匹配 ...

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

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

  8. Java 中正则表达式的经典用法总结——捕获组

    正则表达式常用功能:匹配.切割.替换.获取(从字符串中提取指定格式字符) [String类下的正则的使用] String 类中有几个常用的方法,会涉及到正则表达式.如下: //根据正则表达式regex ...

  9. 深入浅出的javascript的正则表达式学习教程

    原文链接 阅读目录 了解正则表达式的方法 了解正则表达式的方法 RegExp对象表示正则表达式,它是对字符串执行模式匹配的工具: 正则表达式的基本语法如下2种: 直接量语法: /pattern/att ...

最新文章

  1. 使用GoAccess分析Nginx日志
  2. 台湾国立大学郭彦甫Matlab教程笔记(17)numerical integration
  3. nyoj36最长公共子序列 动态规划
  4. maven 工程依赖了某个jar包 但还是报java.lang.ClassNotFoundException的问题
  5. spring boot 的使用(一)
  6. D3 Selections
  7. 华为隐藏功能扩大内存代码大全_发现将华为手机这3个功能打开,竟然可以将手机性能极限发挥...
  8. Linux命令第一篇
  9. 技术要求→物理安全→防雷击
  10. Windows7 下载android源码
  11. MathType编辑手写体
  12. 计算机开不了演示文稿ppt,电脑打不开ppt了怎么办
  13. [转]《博客园精华集》ASP.NET分册第2论筛选结果文章列表
  14. Error: While importing ‘run_app_dev‘, an ImportError was raised.
  15. MyBatis 游标查询大量数据
  16. 【arduino】常用芯片ATMEGA328P-AU 32TQFP资料详解
  17. 生鲜在B2C电商模式下存在问题,O2O模式解决生鲜电商物流配送难题
  18. 数据分析 面经(已拿到offer)
  19. Qt | QTableView的使用方法
  20. 微信公众帐号开发教程第2篇-开发模式启用及接口配置

热门文章

  1. Android---Android 屏幕尺寸与密度
  2. 转载:为什么使用ibatis而不用spring jdbcTemplate
  3. IFile、File与实体转换
  4. 号外:Mapinfo被Pitney Bowes公司收购
  5. 浅谈script标签中的async和defer
  6. Excel 单元格隐藏
  7. Android JNI入门第五篇——Android.mk分析
  8. [置顶] Android面试题目之三: 字符串转整形
  9. 经过研究发现。c++里面的const意思是说,我是const,成员也是const!!!
  10. 开源中国app说什么 旁边的那个图标是什么drawable