文档章节

ios常用正则表达式

哈哈8066
 哈哈8066
发布于 2016/05/16 10:14
字数 987
阅读 50
收藏 1

正则表达式通常用于两种任务:1.验证,2.搜索/替换。用于验证时,通常需要在前后分别加上^和$,以匹配整个待验证字符串;搜索/替换时是否加上 此限定则根据搜索的要求而定,此外,也有可能要在前后加上\b而不是^和$。此表所列的常用正则表达式,除个别外均未在前后加上任何限定,请根据需要,自 行处理。

说明 正则表达式
网址(URL) [a-zA-z]+://[^\s]*
IP地址(IP Address) ((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)
电子邮件(Email) \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
QQ号码 [1-9]\d{4,}
HTML标记(包含内容或自闭合) <(.*)(.*)>.*<\/\1>|<(.*) \/>
密码(由数字/大写字母/小写字母/标点符号组成,四种都必有,8位以上) (?=^.{8,}$)(?=.*\d)(?=.*\W+)(?=.*[A-Z])(?=.*[a-z])(?!.*\n).*$
日期(年-月-日) (\d{4}|\d{2})-((1[0-2])|(0?[1-9]))-(([12][0-9])|(3[01])|(0?[1-9]))
日期(月/日/年) ((1[0-2])|(0?[1-9]))/(([12][0-9])|(3[01])|(0?[1-9]))/(\d{4}|\d{2})
时间(小时:分钟, 24小时制) ((1|0?)[0-9]|2[0-3]):([0-5][0-9])
汉字(字符) [\u4e00-\u9fa5]
中文及全角标点符号(字符) [\u3000-\u301e\ufe10-\ufe19\ufe30-\ufe44\ufe50-\ufe6b\uff01-\uffee]
中国大陆固定电话号码 (\d{4}-|\d{3}-)?(\d{8}|\d{7})
中国大陆手机号码 1\d{10}
中国大陆邮政编码 [1-9]\d{5}
中国大陆身份证号(15位或18位) \d{15}(\d\d[0-9xX])?
非负整数(正整数或零) \d+
正整数 [0-9]*[1-9][0-9]*
负整数 -[0-9]*[1-9][0-9]*
整数 -?\d+
小数 (-?\d+)(\.\d+)?
不包含abc的单词 \b((?!abc)\w)+\b

 

[a-zA-Z\u4e00-\u9fa5][a-zA-Z0-9\u4e00-\u9fa5]+    //中文数字或者字母

正则表达式 :是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串,简单说,就是我们写个模板,然后去匹配字符串。

下面我们来看看一些基本的正则表达式的语法:

\:将下个字符标记为一个特殊的字符、一个原义字符、一个向后引用或者一个八进制转义符例如“\n”就是匹配一个换行符。

^:匹配开始位置,^(a)这个就匹配开头必须为a。

$:匹配结束位置,$(a)这个就匹配结尾必须为a。

*:匹配前面的子表达式零次或者多次,如“xu*”这个表达式就能够匹配“x”和“xuu”。

+:匹配前面的子表达式一次或者多次,如“xu+”这个表达式就能够匹配“xuu”和“xu”,但不能够匹配“x”,这个就是和“*”的区别。

?:匹配前面的子表达式零次或者一次,如“xu?”这个表达式就能够匹配“jian(guo)?”就可以匹配“jian”和“jianguo”。

{n}:n是一个非负数,匹配n次,如“guo{2}”,可以匹配“guoo”,不能匹配“guo”。

{n,}:n是一个非负数,匹配至少n次。

{n, m}:m、n都是非负数,最少匹配n次,最多匹配m次。

(pattern):匹配pattern并获取匹配结果。

(?:pattern):匹配pattern但不获取匹配结果。

x|y:匹配x或y,如“(xu|jian)guo”匹配“xuguo”或者“jianguo”。

[xyz]:字符集合,匹配所包含的任意字符。如“[abc]”可以匹配“apple”中的“a”。

[^xyz]:匹配未被包含的字符。

[a-z]:字符范围,匹配指定范围内的任意字符。

[^a-z]:匹配指定不在范围内的任意字符。

\b:匹配一个单词的边界,如“guo\b”可以匹配“xujianguo”中的“guo”。

\B:匹配非单词边界,如“jian\B”可以匹配“xujianguo”中的“jian”。

\d:匹配一个数字字符,等价于“[0-9]”。

\D:匹配一个非数字字符。

\f:匹配一个换页符。

\n:匹配一个换行符。

\r:匹配一个回车符。

\s:匹配任何空白字符

© 著作权归作者所有

共有 人打赏支持
上一篇: servlet初体验
下一篇: Eclipse常用快捷键
哈哈8066
粉丝 3
博文 43
码字总数 11565
作品 0
浦东
程序员
私信 提问
iOS中3种正则表达式的使用与比较

之前我在博文中介绍过iOS中自带正则表达式的使用( 传送门),后来我发现其实iOS中有三种方式来实现正则表达式的匹配。现在将他们都记录在这里: 1.利用NSPredicate(谓词)匹配 例如匹配有效...

独-奏
2014/02/12
0
1
强大的iOS开发必备工具

做iOS应用开发的,没有这些工具怎么行,强大的iOS开发必备工具!需要的速来拿! 1、ShareSDK 下载链接:http://sharesdk.cn/Download 软件首页:http://sharesdk.cn/ 分类:程序开发 功能强大...

拉偶有所依
2014/12/06
1K
10
有用的HTML5 pattern属性

做手机页面时,遇到数字输入的键盘的问题,之前的做法只是一刀切的使用 type="tel",不过一直觉得九宫格的电话号码键盘上的英文字母太碍事了。于是想要尝试其它的实现方案,最终的结论却令人...

东东笔记
07/27
0
0
NSRegExNamedCaptureGroup 1.0 发布,Cocoa 正则表达式的 NCG 扩展库

NSRegExNamedCaptureGroup 1.0 已发布,更新如下: 库代码已改用纯 Swift 编写 增添了对 tvOS 和 watchOS 的支持 这是什么 NSRegExNamedCaptureGroup 使用 Swift 语言开发,通过直观的编程接...

开源中国真理部部长
2017/07/06
526
2
删除源文件中的注释

http://www.oschina.net/bbs/thread/18227里提到删除源文件中注释的问题,我想,既然所有的支持源代码高亮的编辑器和编译器都可以识别出注释,那就一定有办法能删除源文件中的注释.最近新开了编...

周翼翼
2011/04/29
660
13

没有更多内容

加载失败,请刷新页面

加载更多

Nginx-使用简单总结

下载nginx:http://nginx.org/en/download.html 下载后解压 有很多种方法启动nginx (1)直接双击nginx.exe, 双击后一个黑色的弹窗一闪而过 (2)打开cmd命令窗口,切换到nginx解压目录下, 输入...

Java搬砖工程师
9分钟前
1
0
通过修改控制文件scn推进数据库scn

在数据库遇到ora-600[2662],scn不一致(又没有日志)的时候,我们首先想到的就是去推进数据库的scn,让数据库能够open起来,抢救其中的数据,但是由于各种乱用的情况,oraclescn的pach出来后(11.2...

突突突酱
10分钟前
1
0
Underscore _.template 方法使用详解

https://github.com/hanzichi/underscore-analysis/issues/26 前文 浅谈 Web 中前后端模板引擎的使用 我们简单了解了模板引擎在前后端的应用场景,本文重点深入 Underscore 的模板函数 _.te...

壹峰
11分钟前
0
0
前端缩短数字的长度解决方案[10进制转化为64进制]

function string10to64 (number) { var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_$'.split(''), radix = chars.length, qutient =......

未来cc
12分钟前
0
0
十年架构师不到400行手写一个Spring MVC

首先,我们先来介绍一下Spring的三个阶段,配置阶段、初始化阶段和运行阶段(如图): 配置阶段:主要是完成application.xml配置和Annotation配置。 初始化阶段:主要是加载并解析配置信息,...

小刀爱编程
12分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部