VSCode正则表达式检索:如何使用正则表达式匹配包含特定属性但排除另一个属性的HTML标签


VSCode正则表达式检索:如何使用正则表达式匹配包含特定属性但排除另一个属性的HTML标签

示例:<vxe-column.+time(?!.*\bformatter\b).+

匹配结果:

VSCode正则表达式检索

这个正则表达式用于匹配类似 <vxe-column> 标签中包含 time 但不包含 formatter 的情况。让我们逐步解释每一部分的含义:

正则表达式:

Markup 全选
<vxe-column.+time(?!.*\bformatter\b).+

解释:

  1. <vxe-column

    • 这部分匹配以 <vxe-column 开头的字符串。这是在匹配 vxe-column 标签的开头部分。
  2. .+

    • .:匹配任意字符(除了换行符)。
    • +:匹配前面的字符一次或多次。这里的 .+ 意味着匹配任意字符,至少一个字符,用于处理 vxe-column 标签的属性内容。

    这部分确保 <vxe-column 标签后面有一些内容(如标签的属性)。

  3. time

    • 匹配标签内容中的 time 字符串。这表示正在查找含有 time 的部分,可能是某个属性值或文本内容。
  4. (?!.*\bformatter\b)

    • 这是一个负向先行断言,用于确保匹配的 time 之后没有 formatter
      • (?!...):表示负向先行断言。意思是如果某个部分的后面出现了 formatter,则不匹配。
      • .*:匹配任意字符零次或多次。
      • \bformatter\b:完整匹配 formatter 单词(\b 是单词边界符,确保匹配的是一个完整的单词)。

    这部分确保在匹配到 time 后,后续的内容中不包含 formatter,因此它只匹配不含 formatter 的标签。

  5. .+

    • 再次匹配任意字符至少一个,用于确保匹配标签的其余部分。

总体作用:

这个正则表达式用于匹配 HTML 标签 <vxe-column>,并且在标签的属性或内容中:

  • 必须包含 time 字符串。
  • 不能包含 formatter 字符串。

示例匹配

Markup 全选
<vxe-column prop="createdTime" />

这行代码会被匹配,因为它包含 time,并且没有 formatter

示例不匹配

Markup 全选
<vxe-column prop="createdTime" formatter="formatTime" />

这行代码不会被匹配,因为它包含 formatter,违反了负向先行断言的规则。

 

 

 

版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
张国生
上一篇:VSCode 正则表达式跨行搜索
下一篇:C# XML 序列化与反序列化详解及实战示例
评论列表

发表评论

评论内容
昵称:
关联文章

VSCode表达式检索如何使用表达式匹配包含特定属性排除一个属性HTML标签
表达式,通俗易懂介绍
VSCode 表达式跨行搜索
VSCode表达式 查询 汇总
表达式
依赖属性使用
附加属性使用
Vue.js中如何限制Props只接受特定数组值:自定义验证方法解析
ASP.NET Core调用一个控制器并生成返回视图html
.net HTML解析工具HtmlAgilityPack使用
Python爬虫解析网页提取html信息常用方式
.net core如何添加一个唯一请求ID
css样式排除某个属性,或者类样式名称
编译项目提示报错,提示:无法将文件 "**"复制到***,一进程使用,因此该进程无法访问此文件
C#获得类型Type实现接口列表,支持排除基类实现接口
如何更改winform中GroupboxControls属性内控件排序
C#中反射:获取类直接实现接口并排除继承上级接口
TS有两个对象,便利B对象属性,如果A对象有这个属性,就把B值更新到A对象。
html img标签更改图片尺寸后图片变得模糊
YESWEB数据库模型数据库补丁排除特定

联系我们
联系电话:15090125178(微信同号)
电子邮箱:garson_zhang@163.com
站长微信二维码
微信二维码