介绍
正则表达式在字符匹配方面是长处!所以基于字符的验证,使用它往往
能达到四两搏千斤的奇效。比方验证是不是数字类型,是不是时间类型,字
符串中是否包含特定字符等等。
基础
其实也不用什么基础,只要用一些匹配运行在小工具中(例:EXPRESSO)。
对比结果,再参考参考其他人的文章,多试几次,自然也就牢固了。所谓,
书读百遍,其意自现!加上CodeProject这篇教程。应当就可以相当的熟悉正
则表达式了。
工具
欲善其事,先利其器。
正则表达式很难写,又容易出错。所以得有个轻量极的工具,先测试。然
后再用在.NET中。省得浪费表情。我用的是EXPRESSO。非常轻巧,又比较使
用。当然,这样类似工具非常多,可以GOOGLE一把先。
EXPRESSO(免费注册软件)
示例
这里用的是一个MSDN上的例子。
功能:将格式为:dd/MM/yy 转化成 yy-MM-dd。
这样的问题用其他方法还真不大好处理,比较笨的方法就是通过String.Split
来转换了。然而用正则表达式呢,也许就一行!
{
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
Regular Expression Info http://www.regular-expressions.info
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =