请救大虾!正则表达式!

linsx1987 2011-08-30 05:11:49
拿微博的例子来讲

string text="回复@lin:喝//@lina:动了@lin ad";

我想替换"@lin"为"<img>",用replace的话,会连@lina也替换成 "<img>a"

"@lin"可以是自己定义的字符

用正则表达式该怎么写呢?后面结束的标志是":"或者" "(冒号或者空格)

刚学习正则表达式,还很多不懂的!
...全文
207 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
pyez1158 2011-08-31
  • 打赏
  • 举报
回复
楼主,真不公平,7楼的答案也可以!
linsx1987 2011-08-30
  • 打赏
  • 举报
回复
谢谢你!正则表达式是我薄弱的地方,以后要加强一下
huangwenquan123 2011-08-30
  • 打赏
  • 举报
回复
\b 匹配单词的开始或结束
linsx1987 2011-08-30
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 huangwenquan123 的回复:]

C# code
string text = "回复@lin:喝//@lina:动了@lin ad";
string result = Regex.Replace(text, @"@lin\b", "<img />");
Console.WriteLine(result);
[/Quote]

- -就这么简单!\b是什么意思呢? 百度了一下,好像没啥资料
pyez1158 2011-08-30
  • 打赏
  • 举报
回复
用环视http://www.jb51.net/tools/zhengze.html#lookaround
huangwenquan123 2011-08-30
  • 打赏
  • 举报
回复
            string text = "回复@lin:喝//@lina:动了@lin ad";
string result = Regex.Replace(text, @"@lin\b", "<img />");
Console.WriteLine(result);
pyez1158 2011-08-30
  • 打赏
  • 举报
回复
string repeat = Console.ReadLine();
string torepeat = Console.ReadLine();
string a = "回复@lin:喝//@lina:动了@lin ad";
Console.WriteLine(Regex.Replace(a, "" + repeat + @"(?=[:\s]+)", torepeat));
Console.ReadKey();
linsx1987 2011-08-30
  • 打赏
  • 举报
回复
以@为开始标记, 冒号或者空格为结束标记

string rpstr = "回复@lin:喝//@lina:动了@lin ad";

这个字符串我想得到的结果是

回复<a>@lin</a>:喝//@lina:动了<a>@lin</a> ad

@lina不匹配
  • 打赏
  • 举报
回复
@lina: 和 @lin:不匹配吧?
linsx1987 2011-08-30
  • 打赏
  • 举报
回复
string rpstr = "回复@lin:喝//@lina:动了@lin ad";

string output = Regex.Replace(rpstr, @"(?i)@lin[=\s:]+", "<a>@lin</a>");

这样写的话,会把空格还有冒号也替换掉了,我想保留空格或者冒号
BrucesLong 2011-08-30
  • 打赏
  • 举报
回复
你只需替换@lin的?@lin*都的不替换?
linsx1987 2011-08-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yi_iy 的回复:]

replace("@lin:").replace("@lin ");

这样不就行了?
[/Quote]

我就是不想把@lina:这个也替换了
  • 打赏
  • 举报
回复
replace("@lin:").replace("@lin ");

这样不就行了?

62,074

社区成员

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

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

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

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