正则高手进,一个头痛问题100分哦

chinadforce 2009-04-18 03:37:02
我想把下面的的ip地址替换为对应的地址

string allhtm="<P><FONT face="宋体">方式的方式的192.168.1.1我啊66</FONT></P><P><FONT face="宋体">220.220.6.1哈哈哈日442</FONT></P>";
string pattern1 = @"(\d+).(\d+).(\d+).1";
//有一个ip对应的替换类已经通过了测试
//ipchaxun i=new ipchaxun();
//string ip="117.27.219.1";
//string dizhi=i.getplacename(ip);

//下面的这句我写通不过
string kk=Regex.Replace(allhtm,pattern1,i.getplacename($1.$2.$3);,RegexOptions.RightToLeft);

请问各位高手最后的这句要怎么写呢或者用什么方法

...全文
164 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
我姓区不姓区 2009-04-18
  • 打赏
  • 举报
回复

string allhtm = "<P><FONT face=\"宋体\">方式的方式的192.168.1.1我啊66</FONT></P><P><FONT face=\"宋体\">220.220.6.1哈哈哈日442</FONT></P>";
string pattern1 = @"(\d+\.\d+\.\d+\.1)";
allhtm = Regex.Replace(allhtm, pattern1, i.getplacename("$0"));
wuyi8808 2009-04-18
  • 打赏
  • 举报
回复
正则中小数点要用\.表示。
热学沸腾56 2009-04-18
  • 打赏
  • 举报
回复
up,mark
coodd 2009-04-18
  • 打赏
  • 举报
回复
如果不对,那肯定是别的问题,比如i之前的定义。
freewind0521 2009-04-18
  • 打赏
  • 举报
回复
up
sushou2009 2009-04-18
  • 打赏
  • 举报
回复
UP下!
boywangliang 2009-04-18
  • 打赏
  • 举报
回复
netharry 2009-04-18
  • 打赏
  • 举报
回复
string kk=Regex.Replace(allhtm,pattern1,i.getplacename($1.$2.$3),RegexOptions.RightToLeft);
wuyq11 2009-04-18
  • 打赏
  • 举报
回复
chinadforce 2009-04-18
  • 打赏
  • 举报
回复
还是不对
coodd 2009-04-18
  • 打赏
  • 举报
回复
Replace可以以委托为参数,但i.getplacename($1.$2.$3)是方法,你需要先定义一个委托

Regex rg = new Regex(pattern1,RegexOptions.RightToLeft);
MatchEvaluator myEvaluator = new MatchEvaluator(i.getplacename);
richTextBox1.Text = rg.Replace(allhtm, myEvaluator);

110,539

社区成员

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

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

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