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

愚者只看星不看答案 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));


请正则高手帮忙。多谢了。
...全文
202 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]

想听听你的高论啊。
内容概要:本文系统研究了基于雅可比伪逆迭代的双臂协同轨迹规划与跟踪误差收敛性问题,结合机械臂正向与逆向运动学建模、蒙特卡洛法分析工作空间、笛卡尔空间内的圆弧轨迹生成等关键技术,利用Matlab实现了双臂系统的协同控制与轨迹跟踪仿真。重点探讨了雅可比矩阵伪逆法在解决冗余自由度机械臂逆运动学问题中的应用,深入分析了轨迹跟踪过程中误差的收敛特性,并通过仿真实验验证了该方法在复杂任务场景下的有效性、稳定性与鲁棒性,为多臂机器人在工业自动化、精密操作等领域的协同作业提供了理论依据与技术支持。; 适合人群:具备机器人学、自动控制理论基础及Matlab编程能力的科研人员与工程技术人员,特别适合从事机械臂控制、轨迹规划、多机器人协同等方向的硕士、博士研究生及相关领域研究人员。; 使用场景及目标:①掌握基于雅可比伪逆法的机械臂逆运动学求解原理与实现方法;②理解双臂系统在笛卡尔空间中协同轨迹规划的机制;③分析并优化轨迹跟踪过程中的误差收敛性能;④为多机器人系统在复杂动态环境下的高精度协同控制提供算法设计与仿真验证支持。; 阅读建议:建议读者结合文中提供的Matlab代码进行实践操作,按照文档目录循序渐进地学习,重点关注算法实现细节、仿真参数设置与结果分析部分,同时可进一步探索将智能优化算法或深度学习方法引入轨迹规划与误差补偿的研究方向。

62,271

社区成员

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

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

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

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