月末了,这个月才写了2遍文章,对自己略感失望了,最近是有些忙,等闲些日子后,再整理一些文章分享给大家!
这遍是关于正则表达式,因为写项目时要用到正则表达式,所以就学习了下,另写一遍文章,方便记忆!
1、首先是介绍正则的语法
在此网上搜索的一些文章供参考:
http://www.cnblogs.com/deerchao/archive/2006/08/24/zhengzhe30fengzhongjiaocheng.html
http://msdn.microsoft.com/zh-cn/library/ae5bf541(VS.80).aspx
常用到的一些:
1.验证用户名和密码:("^[a-zA-Z]\w{5,15}$")正确格式:"[A-Z][a-z]_[0-9]"组成,并且第一个字必须为字母6~16位; 2.验证电话号码:("^(\d{3,4}-)\d{7,8}$")正确格式:xxx/xxxx-xxxxxxx/xxxxxxxx; 3.验证手机号码:"^1[3|4|5|8][0-9]\\d{8}$"; 4.验证身份证号(15位或18位数字):"\\d{17}[[0-9],0-9xX]"; 5.验证Email地址:("^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$");
2、关于处理微博上类似 @ 或者 # 的特殊转义字符
可以用:AutoHyperlinks
但是有人说,不支持中文,那么,咱们只要改一下正则就可以了
下载文件打开JSTwitterCoreTextView.m
把如下正则:
NSArray *expressions = [[[NSArray alloc] initWithObjects:
@"(@[a-zA-Z0-9_]+)",// screen names
@"(#[a-zA-Z0-9_-]+)",// hash tags
nil] autorelease];
改成:
NSArray *expressions = [[[NSArrayalloc] initWithObjects:
@"(@[a-zA-Z0-9_\u4E00-\u9FA5]+)",// screen names
@"(#([a-zA-Z0-9_\u4E00-\u9FA5]*)#)",// hash tags
nil] autorelease];
“@[a-zA-Z0-9_\u4E00-\u9FA5]+” :意思是以@开头的后面可以跟a-z、A-Z、0-9、_(下划线)、\u4E00-\u9FA5(汉字)、+(+是和*类似的元字符,不同的是*匹配重复任意次(可能是0次),而+则匹配重复1次或更多次),可以用这些组成字符串
“#([a-zA-Z0-9_\u4E00-\u9FA5]*)#)” :意思是只能是两个#号之间组成的字符串
3、接下了介绍几个可以测试正则的工具
网页工具:http://tool.chinaz.com/regex/
mac下的工具:http://download.csdn.net/detail/doorxp/3835646#comment
这个虽然很简陋,不过可以用!
ok,我是用到什么就会查一些资料,了解一些,希望能给大家一些帮助!