闲云

一张白纸,总想写上点什么...
  博客园  :: 首页  :: 新随笔  :: 订阅 订阅  :: 管理

正则表达式的学习

Posted on 2006-01-20 21:33  闲云  阅读(683)  评论(0编辑  收藏  举报


介绍
      正则表达式在字符匹配方面是长处!所以基于字符的验证,使用它往往
能达到四两搏千斤的奇效。比方验证是不是数字类型,是不是时间类型,字
符串中是否包含特定字符等等。

基础
      其实也不用什么基础,只要用一些匹配运行在小工具中(例:EXPRESSO)。
对比结果,再参考参考其他人的文章,多试几次,自然也就牢固了。所谓,
书读百遍,其意自现!加上CodeProject这篇教程。应当就可以相当的熟悉正
则表达式了

工具
      
欲善其事,先利其器。
      正则表达式很难写,又容易出错。所以得有个轻量极的工具,先测试。然
后再用在.NET中。省得浪费表情。我用的是EXPRESSO。非常轻巧,又比较使
用。当然,这样类似工具非常多,可以GOOGLE一把先。
                               EXPRESSO(免费注册软件)
       
         

示例
      这里用的是一个MSDN上的例子。
      功能:将格式为:dd/MM/yy 转化成 yy-MM-dd。

      这样的问题用其他方法还真不大好处理,比较笨的方法就是通过String.Split
来转换了。然而用正则表达式呢,也许就一行!

static string MDYToDMY(string input)
    
{
      
return System.Text.RegularExpressions.Regex.Replace(input,
            
"\\b(?<month>\\d{1,2})/(?<day>\\d{1,2})/(?<year>\\d{2,4})\\b",
            
"${day}-${month}-${year}");
    }



这样就完成了一个跟改日期格式的功能。
解释:替换表达式 ${day} 插入由 (?<day>...) 组捕获的子字符串。
这里只是展示下Regex的强大功能,并非教程哦!教程的话,一贯觉得老外
写得够好了!只要认得26个字母就应当看老外的!

资源:
            HTTP://REGEXLIB.COM/
            里面有很多各式各样的正则表达式的匹配表达式可以供参考和使用

            REGULAR EXPRESSIONS O'reily出版。通读此书者。。。

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Steven A. Smith 〔owner of ASPAlliance.com and DevAdvice.com〕推荐链接

Regular Expression Library http://regexlib.com/

Regular Expression Discussion List http://aspadvice.com/login.aspx?ReturnUrl=%2fSignUp%2flist.aspx%3fl%3d68%26c%3d16&l=68&c=16

Regular Expression Forums http://forums.regexadvice.com/

Regular Expression Web Logs http://blogs.regexadvice.com/

Mastering Regular Expressions (O'Reilly), by Jeffrey Friedl http://regex.info/

.NET Regular Expression Reference http://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemTextRegularExpressions.asp

Jscript Regular Expression Syntax http://msdn.microsoft.com/library/en-us/script56/html/js56jsgrpregexpsyntax.asp

Regular Expression Info http://www.regular-expressions.info

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =