大家心目中正则的最厉害的一招展示

我看你有戏 2010-11-26 02:13:59
加精

using System;
using System.Text.RegularExpressions;

class Program
{
static void Main(string[] args)
{
string str = "<You're angle & evil>";
string pattern = "'|&|<|>";

Regex regex = new Regex(pattern);

Program prog = new Program();
MatchEvaluator evaluator = new MatchEvaluator(prog.ConvertToXML);
Console.WriteLine(regex.Replace(str, evaluator));
Console.Read();
}

//把正则表达式的匹配到的字符转换成xml能正常识别的标识
public string ConvertToXML(Match m)
{
//string s0=m.Groups[0].Value;
//string s1=m.Groups[1].Value;
//string s2=m.Groups[2].Value;
switch (m.Value)
{
case "'":
return "&apos";
case "&":
return "&";
case "<":
return "<";
case ">":
return ">";
default:
return "";
}
}
}



我觉得上面这招是正则最厉害的一招

请大家把心目中觉得厉害的一招分享一下

大家相互学习下,谢谢
...全文
10399 384 打赏 收藏 转发到动态 举报
写回复
用AI写文章
384 条回复
切换为时间正序
请发表友善的回复…
发表回复
semisage 2011-01-11
  • 打赏
  • 举报
回复
[Quote=引用 65 楼 fellowcheng 的回复:]

JScript code
var ver = top.opera ? (opera.version().replace(/\d$/, "") - 0)
: parseFloat((/(?:IE |fox\/|ome\/|ion\/)(\d+\.\d)/.
exec(navigator.userAgent) || [, 0])[1]);


var dom =……
[/Quote]
这个是判断使用的什么浏览器?
dfererer 2011-01-03
  • 打赏
  • 举报
回复
[Quote=引用 100 楼 wsgang1118 的回复:]
厉害,先顶起!
[/Quote]

支持。

绿色辅助工具——《Csdn收音机》帮你轻松掌握Csdn最新动向!
001007009 2010-12-18
  • 打赏
  • 举报
回复
不得不留下脚印,学习了。
L_and_H 2010-12-09
  • 打赏
  • 举报
回复
[Quote=引用 91 楼 codesnail 的回复:]
引用 6 楼 q107770540 的回复:

string pattern = "'|&amp;|<|>";
===
string pattern = "['&amp;<>]+";

正则的魅力 要慢慢挖掘

string pattern = "['&amp;<>]{1}";
[/Quote]

上面的是什么意思? <> 是任意数值吗?
robustwell 2010-12-09
  • 打赏
  • 举报
回复
厉害,先顶起!
chen3002min 2010-12-09
  • 打赏
  • 举报
回复
看不懂。。。mark
nuist320 2010-12-08
  • 打赏
  • 举报
回复
帮顶一下~~
qqtt789632147 2010-12-07
  • 打赏
  • 举报
回复
[Quote=引用 437 楼 sysdzw 的回复:]

引用 37 楼 wuyazhe 的回复:

说个有趣的吧

范围:0 - 9
要求:数字需要连续,即:0123,1234,12,234,567,123,123456,123456789这样的可以通过
03456只能匹配出3456

正则
(?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)|9(?=0……
[/Quote]

\d就是指数字
[0-9]=0到9的数字
qqtt789632147 2010-12-07
  • 打赏
  • 举报
回复
[Quote=引用 29 楼 wuyi8808 的回复:]

这个正则也很牛:
C# code
using System;
using System.Text.RegularExpressions;

class Program
{
// 把阿拉伯数字的金额转换为中文大写数字
static string ConvertToChinese(double x)
{
string s = x.ToString("#L#E#D#C#K#E#……
[/Quote]
这个太复杂了吧~还不如解析字符串~
wq976158295 2010-12-07
  • 打赏
  • 举报
回复
标记起来
wq976158295 2010-12-07
  • 打赏
  • 举报
回复
标记起来,留贴备用
L_and_H 2010-12-06
  • 打赏
  • 举报
回复
不错,学习了。。
ken2su 2010-12-06
  • 打赏
  • 举报
回复
[Quote=引用 29 楼 wuyi8808 的回复:]
这个正则也很牛:

C# code
using System;
using System.Text.RegularExpressions;

class Program
{
// 把阿拉伯数字的金额转换为中文大写数字
static string ConvertToChinese(double x)
{
string s = x.ToString("#L#E……
[/Quote]
不错不错
ly13140 2010-12-06
  • 打赏
  • 举报
回复
厉害啊
Allen_studying 2010-12-06
  • 打赏
  • 举报
回复
好吧,先回个帖再看看
liyingjun2012 2010-12-05
  • 打赏
  • 举报
回复
新手 来学习一下
p1365374 2010-12-05
  • 打赏
  • 举报
回复
看不懂
星空Amy 2010-12-05
  • 打赏
  • 举报
回复
呵呵,我可长见识了。谢谢提供
星空Amy 2010-12-05
  • 打赏
  • 举报
回复
呵呵,我可长见识了。谢谢提供
kuffin 2010-12-05
  • 打赏
  • 举报
回复
进来学习下。
加载更多回复(364)

110,533

社区成员

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

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

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