==============正则不熟悉惭愧,求一正则==============

愚者只看星不看答案 2012-07-27 10:23:14
有一字符串如下

string str = "hello,world<!--nextpage-->www.microsoft.com<!--nextpage--><p>www.google.com<img src='/images/1.gif' /></p><!--nextpage--><h3>test</h3><!--nextpage-->";


我想达到两个目的:
1、用正则求出 <!--nextpage--> 字符串的总数 如这里有 4 个
2、取出每一段的位置
第一段 <!--nextpage--> 开始 0 ,结束 11
第一段 <!--nextpage--> 开始 26 ,结束 17


解释下,这里的开始与结束位置,用在Substring中,正好可以得出正确的结果


Response.Write(str.Substring(0, 11));
Response.Write(str.Substring(26,17));


请正则高手帮忙。多谢了。
...全文
193 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
byxxw 2012-07-27
  • 打赏
  • 举报
回复
var str = "hello,world<!--nextpage-->www.microsoft.com<!--nextpage--><p>www.google.com<img src='/images/1.gif' /></p><!--nextpage--><h3>test</h3><!--nextpage-->";

var ptn = @"((.*?)<!--.*?-->)";


var ms = Regex.Matches(str, ptn, RegexOptions.Compiled | RegexOptions.Multiline);
foreach (Match m in ms)
{
Console.WriteLine(m.Groups[2].Value);
}
laowang134 2012-07-27
  • 打赏
  • 举报
回复
我看你这像是用<!--nextpage-->分割出来每段的吧。。
        string str = "hello,world<!--nextpage-->www.microsoft.com<!--nextpage--><p>www.google.com<img src='/images/1.gif' /></p><!--nextpage--><h3>test</h3><!--nextpage-->";
string[] sp = { "<!--nextpage-->" };
string[] arr = str.Split(sp, StringSplitOptions.RemoveEmptyEntries);
newxdlysk 2012-07-27
  • 打赏
  • 举报
回复
var result=Regex.Matches(str,@"(?s)<!--.*?-->").OfType<Match>();
var count=result.Count();
result.ToList().ForEach(x=>{
Response.Write(x.Value);
});
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

...你不妨说说原始需求

现在的需求太傻了
[/Quote]

长文章分页。
HimeTale 2012-07-27
  • 打赏
  • 举报
回复
...你不妨说说原始需求

现在的需求太傻了
风一样的大叔 2012-07-27
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

C# code

void Main()
{
string str = "hello,world<!--nextpage-->www.microsoft.com<!--nextpage--><p>www.google.com<img src='/images/1.gif' /></p><!--nextpage--><h3>test</h3><!--nextpage-->";
s……
[/Quote]linq真的很强大
q107770540 2012-07-27
  • 打赏
  • 举报
回复

void Main()
{
string str = "hello,world<!--nextpage-->www.microsoft.com<!--nextpage--><p>www.google.com<img src='/images/1.gif' /></p><!--nextpage--><h3>test</h3><!--nextpage-->";
string[] result=Regex.Split(str,"<!--nextpage-->",RegexOptions.IgnoreCase).Where(x=>!string.IsNullOrEmpty(x)).ToArray();
int count=result.Count();
result.ToList().ForEach(x=>Console.WriteLine(x));
/*
hello,world
www.microsoft.com
<p>www.google.com<img src='/images/1.gif' /></p>
<h3>test</h3>
*/
}

  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

...你不妨说说原始需求

现在的需求太傻了
[/Quote]

想听听你的高论啊。
随着元宇宙概念兴起与虚拟数字人技术快速发展,虚拟主播、在线教育虚拟助教、元宇宙社交等应用场景对实时动作表情驱动系统提出更高需求。当前主流动作捕捉方案多依赖专业光学动捕设备或深度相机,设备成本高昂、部署复杂,难以在普通用户场景普及。本研究设计并实现一套基于普通单目摄像头的虚拟数字人实时动作表情驱动系统,旨在降低数字人内容生产门槛。系统采用Unity作为主开发引擎,结合Blender进行数字人模型构建与BlendShape表情系统制作,使用MediaPipe框架实现人脸关键点检测与人体姿态估计,通过C#脚本完成实时数据处理与渲染控制。系统包含五个关键模块:人脸关键点检测(MediaPipe Face Mesh提取468个关键点)、人体姿态估计(MediaPipe Pose识别33个骨骼关键点)、表情迁移映射、动作平滑优化(卡尔曼滤波与贝塞尔曲线插值消除抖动)、实时渲染(60fps流畅渲染,支持直播推流与视频录制)。实验结果表明,系统在普通笔记本上可实现60fps实时驱动,人脸关键点检测准确率达98.7%,人体姿态估计平均误差小于5像素,表情迁移相似度达92.3%。 【课程报告内容】 摘要 第1章 绪论 第2章 相关技术与理论基础 第3章 系统架构设计 第4章 关键模块设计与实现 第5章 实验与结果分析 第6章 总结与展望 参考文献
内容概要:本文提出了一种基于蒙特卡洛模拟与拉格朗日松弛法的分散式优化策略,用于解决电动汽车充电站在分时电价机制下的有序充电调度问题。通过蒙特卡洛方法模拟电动汽车充电行为的随机性,生成多样化负荷场景,构建以降低电网负荷波动和用户充电成本为目标的优化模型;采用拉格朗日松弛法对耦合约束进行解耦,实现分布式求解,在保障用户隐私的同时提升计算效率。文中设计了详细的仿真场景,系统分析了该调度策略对电网负荷特性和用户经济性的影响,验证了所提方法在实际应用中的有效性与可行性。; 适合人群:具备电力系统运行、优化算法理论及Matlab编程能力的研究生、科研人员以及从事智能电网与电动汽车相关领域的工程技术人员。; 使用场景及目标:①应用于城市规模化充电站集群的有序充电管理,实现电网“削峰填谷”;②为电力公司制定科学合理的分时电价政策提供量化分析工具;③支撑智能电网中需求侧资源的分布式协同优化调度研究与系统设计。; 阅读建议:建议结合提供的Matlab代码深入理解算法实现流程,重点掌握蒙特卡洛场景生成机制与拉格朗日松弛迭代求解过程,可通过调整参数设置复现不同工况下的仿真结果,以深化对分散式优化机制与调度效果之间关系的理解。

62,272

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧