正则表达式怎么控制匹配的字符串更近的一个

http((?!http).)*m3u8

正则表达式怎么控制匹配的字符串更近的一个

正则如何匹配最近的字符 正则如何匹配最近的两个字符

怎么控制只要离字符串b匹配更近一点的字符串a

解释

a.b,它将会匹配最长的以a开始,以b结束的字符串 a.?b匹配最短的,以a开始,以b结束的字符串 我想要的是结合体, 匹配最长 但是最后要的是以最后一个a结尾,最后一个b结尾的字符串

正则表达式,它能够匹配最长的以第一个 a 开始,以最后一个 b 结束的字符串。这种需求通常需要使用贪婪匹配来获取最长的匹配,但同时又要确保匹配的是最后一个 a 和最后一个 b 之间的内容。

在正则表达式中,你可以使用一些技巧来达到这个目的,例如使用负向前视断言来排除过多的 ab,只匹配最后一个符合条件的片段。下面是一个示例的正则表达式:

Copy Codea((?!a).)*b

正则表达式解释:

  • a: 匹配字面字符 "a"。

  • ((?!a).)*: 这是一个贪婪匹配的子表达式,它会匹配任意字符,但是排除以 "a" 开头的字符序列。这样可以确保在最后一个 a 之后,匹配的字符不会再包含 a

  • b: 匹配字面字符 "b"。

这个正则表达式的逻辑是:从第一个 a 开始,尽可能多地匹配字符,直到最后一个 b 结束。由于使用了负向前视断言 (?!a),保证了匹配的字符序列中不会再出现 a,从而在文本中定位到最后一个 ab 之间的内容。

示例应用:

例如,对于字符串 "aabcababcb",这个正则表达式将匹配 "abcb",即从第一个 a 到最后一个 b 之间的最长字符序列。

在 C# 中使用这个正则表达式,你可以像之前示例那样,使用 Regex 类进行匹配和提取。

using System;
using System.Text.RegularExpressions;
​
class Program
{static void Main(){string input = "aabcababcb";string pattern = @"a((?!a).)*b";
​Regex regex = new Regex(pattern);Match match = regex.Match(input);
​if (match.Success){string extractedString = match.Value;Console.WriteLine("Extracted string: " + extractedString);}else{Console.WriteLine("No matching string found.");}}
}
这段代码将输出匹配到的最长符合条件的字符串 "abcb"。

应用

http.m3u8,它将会匹配最长的以http开始,以m3u8结束的字符串 http.?m3u8匹配最短的,以http开始,以m3u8结束的字符串 我想要的是结合体, 匹配最长 但是最后要的是以最后一个http结尾,最后一个http结尾的字符串

 var url = request.Uri; var tet = "";if (url != null && url.EndsWith(".m3u8")||url.EndsWith(".mp4")&& qflagurl==true){ tet = "webview2适配m3u8url捕获成功\n";  Sharing.setTips(tet);Match match = Regex.Match(url, @"http((?!http).)*m3u8", RegexOptions.Singleline);if (match.Success){url = match.Value;//qflag3 = false;
​}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/46884.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

废品回收小程序:高效便捷回收,推动市场发展

随着互联网的发展和人们日益提升的环保意识,对废品回收市场的关注度不断提高,废品回收成为了当下发展前景巨大的行业之一。 传统的废品回收体系不完善,存在较大的不便利性,回收流程繁琐。为了方便大众回收,连接回收企…

【数据结构】树和二叉树——Lesson1

Hi~!这里是奋斗的小羊,很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~~ 💥💥个人主页:奋斗的小羊 💥💥所属专栏:C语言 🚀本系列文章为个人学习…

科普文:微服务技术栈梳理

概叙 如上两图所示,微服务架构下,需要的组件很多,上面中也并未列全。下面将梳理一下国内微服务架构下,用到的技术栈,仅供参考。 科普文:12种常见的软件架构-CSDN博客 没有最好的架构,只有最适…

常用网络接口自动化测试框架应用

一、RESTful(resource representational state transfer)类型接口测试 (一)GUI界面测试工具:jmeter 1、添加线程组 2、添加http请求 3、为线程组添加察看结果树 4、写入接口参数并运行 5、在查看结果树窗口查看结果 6、多组数据可增加CSVDat…

python数据可视化(7)——绘制箱形图

课程学习来源:b站up:【蚂蚁学python】 【课程链接:【【数据可视化】Python数据图表可视化入门到实战】】 【课程资料链接:【链接】】 Python绘制箱形图分析北京天气数据 箱形图 箱形图(Box-plot)又称为盒…

一站式短视频矩阵开发,高效托管!

短视频矩阵系统源码SaaS解决方案提供全面的开发服务,包括可视化视频编辑、矩阵式内容分发托管以及集成的多功能开发支持。 短视频矩阵:引爆您的数字营销革命 短视频矩阵系统是一套多功能集成解决方案,专为提升在短视频平台上的内容创作、管理…

【C++】多态-最全解析(多态是什么?如何使用多态?多态的底层原理是什么?)

目录 一、前言 二、多态是什么? 三、多态的定义及实现 🔥 多态的构成条件🔥 🔥 虚函数的重写🔥 🔥虚函数重写的两个例外 🔥 🍍 协变返回类型 🥝 析构函数的重写…

使用APEXSQL LOG解析sql server事务日志,进行审计与数据恢复

一 下载 https://download.csdn.net/download/sunke861/11449739 二 使用 解压安装包后,点击:ApexSQLLog.exe 2.1 连接数据库 连接要审计的数据库: 假如报错: 则点击ok关闭该窗口,然后点击左上方的New按钮&#xf…

Codeforces Round 958 (Div. 2)(A~C)题

A. Split the Multiset 思路: 最优的策略是每次操作分出 k−1&#x1d458;−1 个 1&#xff0c;然后考虑最后是否会剩下一个单独的 1。 代码: #include<bits/stdc.h> using namespace std; #define N 1000005 typedef long long ll; typedef unsigned long long ull;…

【找不到视图问题解决】@RestController 与 @Controller注解的使用区别

一、问题描述 苍穹外卖在菜品分页查询功能实现的过程中&#xff0c;出现了找不到视图的情况 2024-07-12 21:54:20.860 ERROR 22488 --- [nio-8080-exec-4] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with p…

Transformer注意力机制

Transformer注意力机制 &#x1f42c; 目录: 一、Transformer简介二、理解注意力机制自注意力机制多头注意力机制 一、Transformer简介 Transformer是一种用于自然语言处理(NLP)和其他序列到序列(Seq2Seq)任务的深度学习模型框架&#xff0c;它在2017年由Vaswani等人首次提出…

手机m4a怎么转换成mp3,手机端即可完成格式转换

M4A&#xff08;MPEG-4 Audio&#xff09;是一种无损压缩的音频格式&#xff0c;通常用于苹果设备和 iTunes 上&#xff0c;因为它能提供较高的音质同时占用较小的存储空间。 然而&#xff0c;MP3 作为最普及的音频格式之一&#xff0c;兼容性更强&#xff0c;几乎所有的播放设…

【单元测试】SpringBoot

【单元测试】SpringBoot 1. 为什么单元测试很重要&#xff1f;‼️ 从前&#xff0c;有一个名叫小明的程序员&#xff0c;他非常聪明&#xff0c;但有一个致命的缺点&#xff1a;懒惰。小明的代码写得又快又好&#xff0c;但他总觉得单元测试是一件麻烦事&#xff0c;觉得代码…

ENSP中NAT的相关实验(两个私网,一个公网)

题目 实验需求 1.按照图示配置IP地址&#xff0c;公网地址100.1.1.1/24 2.私网A通过NAPT&#xff0c;使R1接入到互联网&#xff0c;私网B通过EASY IP&#xff0c;使R3接入到互联网 3.私网A配置NAT SERVER把Telnet的Telnet服务发布到公网&#xff0c;使PC2可以访问 三、实验…

el-table和 el-image图片预览使用插槽后层叠样式错乱问题

问题&#xff1a; 解决办法&#xff1a;在el-image组件中添加preview-teleported 属性 最终效果

MongoDB自学笔记(一)

一、MongoDB简介 MongoDB是一款基于C开发的文档型数据库。与传统的关系型数据库有所不同&#xff0c;MongoDB面向的是文档&#xff0c;所谓的文档是一种名为BSON &#xff08;Binary JSON&#xff1a;二进制JSON格式&#xff09;是非关系数据库当中功能最丰富&#xff0c;最像…

AV1 编码标准帧间预测技术概述

AV1 编码标准帧间预测 AV1&#xff08;AOMedia Video1&#xff09;是一种开源的视频编码格式&#xff0c;它在帧间预测技术上做出了显著的改进和扩展&#xff0c;以提供比现有标准更高的压缩效率和更好的视频质量。以下是AV1帧间预测技术的几个关键点&#xff1a; 参考帧扩展&a…

You are running Vue in development mode.和undefined is not iterable白屏问题

遇到的报错信息如下&#xff0c; 你正在开发模式下运行 Vue。 确保在部署生产环境时打开生产模式 但是我是关闭了的Vue.config.productionTip false 最后发现是服务器问题

Ubuntu安装 Nginx

前置条件&#xff1a; 把apt包更新到最新&#xff08;如果更新过就跳过这步&#xff09; 先检查 sudo apt update 后更新 sudo apt upgrade &#xff08;期间要选择确认&#xff0c;输入 y 即可&#xff09; 如果不行可以&#xff1a;sudo apt upgrade --fix-missing 先卸…

IIS的安装及Web服务器深度配置:打造高效稳定的网络门户

在构建现代网络环境的过程中&#xff0c;IIS&#xff08;Internet Information Services&#xff09;作为微软提供的强大Web服务器软件&#xff0c;扮演着至关重要的角色。无论是企业级的网站部署&#xff0c;还是个人开发者的小型项目测试&#xff0c;IIS都能提供稳定、高效的…