首页 > 其他分享 >正则表达式

正则表达式

时间:2023-06-03 21:45:03浏览次数:26  
标签:匹配 正则表达式 exp2 捕获 test exp1

?:   ?=  ?!非捕获元的使用

    正则表达式中()表示捕获分组,()会把每个分组里的匹配的值保存起来,多个匹配值可以通过数字n来查看(n是一个数字,表示第n个捕获组的内容)。

  •  ?: 是用来消除使用圆括号匹配被缓存的副作用。
  •  ?= 正向预查,在任何开始匹配圆括号内的正则表达式模式的位置来匹配搜索字符串。

            exp1(?=exp2)  查找exp2 前面的exp1

runoob(?:(?=[\d]+))

  • ?<=  (?<=exp2)exp1  查找exp2 后面的exp1
(?<=[\d]+)runoob

  • ?!    exp1(?!exp2)  查找后面不是exp2的exp1
runoob(?:(?![\d]+))

  •  ?<!   (?<!exp2)exp1 查找前面不是exp2的exp1
(?<![\d]+)runoob

 
反向引用
     对一个正在表达式模式或部分模式两边添加圆括号将导致相关匹配到一个临时缓冲区,所捕获的每个子匹配都按照在正则表达式模式中从左到右出现的顺序存储。缓存区标号从1开始,最多可存储99个捕获的子表达式。每个缓冲区都可以使用\n访问,其中n为一个表示特定缓冲区的以为或两位十进制。

     可以使用非捕获元字符?:、 ?=、?!来重写捕获,忽略对相关匹配的保存。

      反向引用的最简单,最有用的应用之一,是提供查找文本中两个相同的相邻单词的匹配项的能力。

      例如匹配This is is my test test sample.中 is is  /  test test

/(\b[A-z]+) \1\b/igm

    g: 全局匹配

    i: 忽略大小写

    m:  多行匹配

反向应用还可以将通过资源指示符(URI)分解其组件。假定将下面的URI分解为协议(ftp,http 等等),域地址和页/路径:

/(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)/

     https://i.cnblogs.com/posts/edit;postId=17374059

 

 

 

    

标签:匹配,正则表达式,exp2,捕获,test,exp1
From: https://www.cnblogs.com/qindy/p/17374059.html

相关文章

  • 在notepad++软件上用正则表达式替换内容
    在notepad++软件上用正则表达式替换内容,查找:(\+\d+)|,在notepad++软件上用正则表达式替换内容示例要求:04,09,18,19,32,33+1403,04,13,18,25,32+0203,08,15,21,22,32+12把以上数据去掉+后面的数据,把分割逗号替换成空格的正则表达式,要在notepad++软件上可以使......
  • linux 正则表达式
    目录一、正则表达式二、元字符三、次数符号四、位置锚定五、实验              一、正则表达式通配符功能是用来处理文件名,而正则表达式是处理文本内容中字符。分类:1. 基本正则表达式2.扩展正则表达式二......
  • 2015.4.28_正则表达式_正则表达式简易教程
    为什么使用正则表达式通过正则表达式,可以:测试字符串内的模式。例如,可以测试输入字符串,以查看字符串内是否出现电话号码模式或信用卡号码模式。这称为数据验证。替换文本。可以使用正则表达式来识别文档中的特定文本,完全删除该文本或者用其他文本替换它。基于模式匹配从字符串中提......
  • MySQL-正则表达式规范
     MySQL中的正则表达式采用的是PCRE的规范,匹配时按字符进行。RLIKE您可以使用RLIKE语句匹配正则表达式,支持的元字符如下表所示。元字符说明^行首。$行尾。.任意字符。*匹配前面的子表达式0次或多次。+匹配前面的子表达式1次或......
  • python正则表达式之道
    Python使用正则表达式的步骤:1、导入正则表达式模块2、创建Regex对象re.compile(),传入正则表达式3、使用search()方法,传入字符串4、调用group()方法。举例:importre #1ne=re.compile(r'\d\d\d\-\d\d') #2mo=ne.search('yourdatasis456-11.') #3print(mo.gro......
  • 正则表达式原理及其简单实现
    本文从文件依赖依赖这个需求切入,详细阐述了文件依赖分析的实现过程,对于其中所使用到的正则表达式进行原理上的分析,说明了状态机的基本架构以及状态机的最小实现。文件依赖分析如果我想获取某个文件的所有依赖(如下图中的紫色部分),应该怎么做呢【方案1】利用webpack......
  • 正则表达式:用于搜索替换、分割内容
       ......
  • Python笔记:正则表达式方法
    正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只在于不同的编程语言实现支持的语法数量不......
  • 正则表达式:书写规则
        ......
  • yulong-hids 规则引擎,目前看到就是正则表达式和count技术
    规则项目提供的默认规则太简单和宽泛了,甚至包含一些错误,比如:有些不太精确,比如:另外规则引擎的匹配算法没有做优化,规则或者事件一旦多起来,server的负载会很高有些太宽泛导致误报非常高:agent在测试机才装2天就有近6w条告警,这是无法运营的,当然,规则支持细粒度控制(开关)还是很不错的3、功......