求一段使用C#实现的添加链接的正则表达式

wgqlj 2008-07-31 10:40:42
要实现的功能如下将一段网页中的数字添加上链接
比如<span class="t1" >可乘坐K1或者7路公交<span>将要实现的效果如下
<span class="t1" >可乘坐<a href="search.aspx?kw=K1">K1</a>或者<a href="search.aspx?kw=7>"7</a>路公交<span>
困难点如下,不可以替换标签中的数字,如上文中的t1是不可以替换的
同时,某些空调车可能前面带有K字,还有可能是X。B。Y等字母。

多谢各位了!
...全文
94 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
乔乔公爵 2008-08-01
  • 打赏
  • 举报
回复

using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;

/******************************************************************************
*
* 正则表达式演示程序
* 作者:高宏伟(DukeJoe)
* 地点:黑龙江省哈尔滨市
* QQ:21807822
*
* 时间:2008-8-1 12:05:47
* 开发环境:Microsoft Visual Studio .NET 2005
* 操作系统:Windows XP Home Edition Service Pack 2
* 注释: 1、因为你的span 里有一个t1,可能会和7混淆,我也不太清楚你项目里具体的命名
* 规则,所以我改动了一下t1,以免造成误解。
* 2、如果你认为t1需要保留,那是不是7的后面一定有一个路字,这些地方不知道在项
* 目中还有什么其它的规律,我没有随便乱猜你那边的情况。不过我看主要还是演示明
* 白如何使用正则表达式比较好,会用了之后你也可以自已改动一下,使表达式更符合
* 你的实际情况。祝好运
*
*****************************************************************************/
namespace test1
{
class Program
{
static void Main(string[] args)
{
Regex rx = new Regex(@"(([KXBY]|[kxby])*(\d+))");

String strSample = "<span class=\"joe\">可乘坐K1或者7路公交 <span>";
String strReplace = "<a href=\"search.aspx?kw=\"$1\">$1</a>";
String strResult;

strResult = Regex.Replace(strSample, rx.ToString(), strReplace);
Console.WriteLine("结果 = {0}", strResult);
}
}
}
家鸣 2008-08-01
  • 打赏
  • 举报
回复
string name = "<span class=\"t1\" >可乘坐K1或者7路公交 </span>";
name = Regex.Replace(name, @"(?<=<.*?>)(.*)([KXBY]\d+)(.*)(\d+)(.*?)(?=<.*?>)", "$1<a href=\"search.aspx?kw=$2\">$2</a>$3<a href=\"search.aspx?kw=$4\">$4</a>$5", RegexOptions.IgnoreCase);

yuhaozx 2008-08-01
  • 打赏
  • 举报
回复
1、学习
wgqlj 2008-07-31
  • 打赏
  • 举报
回复
原理可能比较类似代码高亮。

110,538

社区成员

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

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

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