正则表达示测试器~
最近经常用到正则,不过不同语言之间的正则一些特性差别比较大,自已写个小工具,分享下:
下载地址:http://xiaoxiao.bfor.cn/download/regex.rar
按惯例,上几张图:
最后那个,生成代码,使用RichTextBox对代码着色分二步:
关键字着色:
复制
保存
字符串着色这个要单独来:
复制
保存
方法是查找字符串索引,右边去掉一个字符,右边加2,当然复杂的就不适用了,需要用环视判断字符边界,另外还要区分字符串中的转义符..
下载地址:http://xiaoxiao.bfor.cn/download/regex.rar
按惯例,上几张图:
![单击在新窗口中打开图片,Ctrl+滚轮缩放图片](http://www.chenjiliang.com/Article/ArticleImage/56/4660/RegexTest1.jpg)
![单击在新窗口中打开图片,Ctrl+滚轮缩放图片](http://www.chenjiliang.com/Article/ArticleImage/56/4660/RegexTest2.jpg)
![单击在新窗口中打开图片,Ctrl+滚轮缩放图片](http://www.chenjiliang.com/Article/ArticleImage/56/4660/RegexTest3.jpg)
最后那个,生成代码,使用RichTextBox对代码着色分二步:
关键字着色:
![保存](http://www.chenjiliang.com/Image/Save.jpg)
//定义关键字 string[] keys = new string[] { "using", "return", "if", "else", "public" }; foreach (string key in keys) { Regex r = new Regex(key); MatchCollection mc = r.Matches(rtxtCode.Text); foreach (Match m in mc) { if (m.Success)//当匹配成功,对关键字着色 { rtxtCode.Select(m.Index, m.Length); rtxtCode.SelectionColor = Color.Blue; } } }
字符串着色这个要单独来:
![保存](http://www.chenjiliang.com/Image/Save.jpg)
Regex r1 = new Regex("\"(?<string>[^\"]*)\""); MatchCollection mc1 = r1.Matches(rtxtCode.Text); foreach (Match m in mc1) { if (m.Success) { Group g = m.Groups["string"]; if (g.Success) { rtxtCode.Select(g.Index - 1, g.Length + 2); rtxtCode.SelectionColor = Color.Red; } } }
方法是查找字符串索引,右边去掉一个字符,右边加2,当然复杂的就不适用了,需要用环视判断字符边界,另外还要区分字符串中的转义符..