首页 > 其他分享 >正则表达式先行断言和后行断言的应用

正则表达式先行断言和后行断言的应用

时间:2023-02-27 15:45:56浏览次数:37  
标签:后行 断言 正则表达式 pattern 语法 匹配 DATA

 1、正向先行断言    

        语法: (?=pattern)

        作用:匹配pattern前面的内容,不返回自身

2、正向后行断言

   语法:(?<=parttern)

   作用:匹配表达式后面的内容不返回自身  

 

3、负向先行断言(复前瞻)

    语法:(?!parttern)

    作用:匹配非pattern前面的内容,不返回自身

 

4、负向后行断言

  语法: (?<!pattern)

  作用:匹配非pattern表达式后面的内容,不返回本身

 

5、应用:比如微信的模板消息,模板的内容如下:

{{first.DATA}} 问题:{{keyword1.DATA}} 老师:{{keyword2.DATA}} 提问时间:{{keyword3.DATA}} {{remark.DATA}}</param>

要匹配到里面的关键字,就可以用正后和正先断言匹配。

代码如下

var templateContent = "{{first.DATA}} 问题:{{keyword1.DATA}} 老师:{{keyword2.DATA}} 提问时间:{{keyword3.DATA}} {{remark.DATA}}</param>";
var valueRegex = new Regex("(?<={{).*?(?=.DATA)");
var matches = valueRegex.Matches(templateContent);

 

标签:后行,断言,正则表达式,pattern,语法,匹配,DATA
From: https://www.cnblogs.com/dayang12525/p/17159921.html

相关文章

  • 正则表达式大全(持续更新)|| 正则查找中文 || 正则查找注释
    背景:项目中需要快速找到所有的中文翻译成英文的时候,又或者要把所有注释的内容删掉,再或者要针对标点的查询。这里为大家总结了一些常用的正则表达式,和使用方法;使用方......
  • 常见的正则表达式
    1.检验数字的表达式1.检验一个字符串是否为全数字:^[0-9]*$或者^\d*$2.检验字符串是否为n个数字:^[0-9]{11}$或 ^\d{11}$电话号码,银行密码3.检验......
  • python 正则表达式
    importreprint("*"*20)#re.match在字符串开头进行匹配pattern="(\d+)(@)"string="[email protected]"result=re.match(pattern,string)print(result.group())#......
  • 正则表达式学习
    转自:https://www.runoob.com/regexp/regexp-syntax.html1.语法[ABC]:匹配 [...] 中的所有字符,例如 [aeiou] 匹配字符串"googlerunoobtaobao"中所有的eoua字......
  • ChatGTP,生成正则表达式-至少包含一个大小写字母和数字且有位数限制
    正则表达式-至少包含一个大小写字母和数字且有位数限制/^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])[A-Za-z0-9_]{8,15}$/解释:至少包含一位大写字母、小写字母、数字,且长度在8-1......
  • Python | 正则表达式(re模块)
    正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串re模块是python独有的匹配字符串的模块,该模块种提供功能基于正则表达式实现的,对于字符串进行模糊匹......
  • Python 正则表达式
    1.常用的元字符1. .匹配任意字符,除换行符\n外 re.search(r'[a-z].*','python\[email protected]')python[a-z]表示小写字母,.表示匹配除换行符外......
  • c# regex正则表达式
    目录C#正则表达式Regex1.c#的正则表达式基本构成2.正则表达式模式2.1正则表达式中的定位点2.2字符类2.3分组2.4数量词3.正则表达式的执行方法C#正则表达式Regex......
  • 接口断言为切片的问题
    情景当我们希望把一个接口断言为切片的时候,直接断言为切片内的元素类型会报错解决办法正确的做法是:先断言为切片接口,然后遍历切片接口,再断言为其他类型举例packagema......
  • python爬虫学习——re模块(正则表达式)
    正则表达式常用操作符.任何单个字符[]字符集,对单个字符给出取值范围[abc]、[a-z][^]非字符集,对单个字符给出排除范围[^abc]*对前一个字符0次或无限次拓......