如何像转义一样的正则表达式??

xigo2011 2011-03-16 08:26:04

string test = "34<0>dfsfd/<1>//<2>sdf///<3>////<4>/////<5>";
Regex reg = new Regex(@"(?<=(?://)*)<[^>]*>");
MatchCollection mc = reg.Matches(test);
Console.WriteLine("个数:{0}", mc.Count);
foreach (Match m in mc)
{
Console.WriteLine(m.Value);

}

其实上面的正则表达式,我想实现的获取的是
<0>
<2>
<4>
但不知道怎么实现,就是前面为/时,不获取<数字>,前面为//的倍数时,才获取<数字>
谢谢!
...全文
90 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
uhaoa 2011-03-17
  • 打赏
  • 举报
回复
SK_Aqi 2011-03-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lxcnn 的回复:]
try...


C# code
string test = "34<0>dfsfd/<1>//<2>sdf///<3>////<4>/////<5>";
Regex reg = new Regex(@"(?n)(?<=(^|[^/])(//)*)<[^>]*>");
MatchCollection mc = re……
[/Quote]
继续膜拜!~
「已注销」 2011-03-17
  • 打赏
  • 举报
回复
可以将两个/视为一个整体取重复嘛..
  • 打赏
  • 举报
回复
我也只能膜拜了..开始我还以为是取数字是偶数的呢
机器人 2011-03-16
  • 打赏
  • 举报
回复
这想法真好。。。膜拜
-过客- 2011-03-16
  • 打赏
  • 举报
回复
try...

            string test = "34<0>dfsfd/<1>//<2>sdf///<3>////<4>/////<5>";
Regex reg = new Regex(@"(?n)(?<=(^|[^/])(//)*)<[^>]*>");
MatchCollection mc = reg.Matches(test);
Console.WriteLine("个数:{0}", mc.Count);
foreach (Match m in mc)
{
Console.WriteLine(m.Value);
}
Console.ReadLine();

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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