JavaEye挂了。。设计模式的学习有些停滞,正好把想看的正则表达式看了
正则表达式主要作用是用来描述字符串对象的,还可以用来匹配字符串(我感觉最多的就是各种验证,查找替换中的实际应用)
正则表达式语法:
● 字符与字符串
直接用字母和数字 /a/ /b/ /abc/ /123/
还有反斜杠加特殊字符 \n \t \( \o等等
● 字符类
[…] 可以匹配一个字符 [abc] [a-z] [A-Z]等等 只能匹配一个
[^…] 除去特定字符 [^abc] [^a-z]等等
特别的有
. 除换行,终止符之外的所有字符
\w 所有ASCII单字字符 (注意小写 大写是除所有外 相当于^)
\d 数字
\s 空白符
● 重复类 限定符
指定字符要重复的次数
{n} {n,m} {n,} 相当于一个范围 重复n次 n-m次 至少n次
特别的
? 0或1次 相当于{0,1}
+ 至少1次 相当于{1,}
0或多次 {0,}
● 选择符
| abc|asd|qaz 注意从左到右只会匹配第一个
● 定位符
^ 表示开头
$ 表示结尾
还有一些\b \B (?=p) (?!p)
● 分组
(…) (?...) 将一个字符串看做整体分组 后者不记忆与该组合所匹配的内容 其他无异 配合限定符使用
● 引用
\n 表示第n个分组 比如\1 \2
/[‘”][^’”]*[‘”]/表示一个字符串 但是它包含了’开头”结尾或者”开头’结尾的
而/[‘”][^’”]*\1/则解决了该问题
所以引用不是单纯复制匹配模式,而是重复内容
● 标志
i 不区分大小写
g 全局模式 不是找到一个就结束
m 多行匹配模式
用得比较多的i和g 用法是加在表达式后 如/abc/i /abc/gi /abc$/m
以上都是语法,下面记录点例子
●邮编:
首先都是数字 可以用\d
然后是6位 所以是\d{6} 但是这样也会同123456789这些大于6位的匹配
所以加上限定符^\d{6}$
● 身份证号码(18位):
前17位是数字 \d{17}
后1位是数字或X [\d|X]
同样加上限定符^\d{17}[\d|X]$
● 验证Email地址:
用户名部分 由字母,数字,下划线等组成 [\w-_]+
@部分 @
域名部分 可以用.作为分隔符,除最后一部分,都由字母,下划线等组成
[\w-]+\.表示有.的部分 [\w-]+表示只含字母的部分
完整的就是([\w-]+\.)+[\w-]+
最终 Email验证的正则表达式 ^[w-_]+@([\w-]+\.)+[\w-]+$
补充上来一个常用正则表达式
http://flytosea.iteye.com/blog/763908
韩神推荐的正则教程 http://deerchao.net/tutorials/regex/regex.htm#lookaround
分享到:
相关推荐
NULL 博文链接:https://zisefeiniao.iteye.com/blog/376874
学习linux的笔记,发到博文了,鉴于文档方便保存和查阅,发出来,免费的哈 ...Linux笔记——正则表达式入门及应用 Linux笔记——linux进程 Linux笔记——SVN命令总结 rpm&yum包管理命令总结 The end wklken
JAVA学习笔记第十三天——正则表达式、StringBuilder、包装类型、Collection常用API,包含了这些知识点的使用,示例代码。
SQL模式匹配允许你使用“_”匹配任何单个字符,而“%”匹配...+——–+——–+———+——+————+————+| name | owner | species | sex | birth | death |+——–+——–+———+——+————+————+|
1. 元素的显示与隐藏 目的 让一个元素在页面中消失或者显示出来 场景 ... 1.1 display 显示(重点) display 设置或检索对象是否及如何显示。 display: none 隐藏对象 display:block 除了转换为块级元素之外,同时还有...
ExtJS4学习笔记(七)---带搜索的Grid(SearchGrid) ExtJS4学习笔记(三)---VBox的使用 ExtJS4学习笔记(九)---ExtJS4 EditGrid(可编辑的Grid) ExtJS4学习笔记(二)---HBox的使用 ExtJS4学习笔记(五)---Grid分页 ExtJS4...
MongoDB学习笔记.docx mybatis原理.docx MyBatis面试专题.docx MyBatis面试专题及答案.pdf Mybatis面试题(含答案).pdf MySQL性能优化的21个最佳实践.pdf mysql面试专题.docx MySQL面试题(含答案).pdf Netty面试...
031115_【第11章:Java常用类库】_正则表达式笔记.pdf 031116_【第11章:Java常用类库】_定时调度笔记.pdf 031201_【第12章:JAVA IO】_File类笔记.pdf 031202_【第12章:JAVA IO】_RandomAccessFile笔记.pdf 031203...
2 Jive中的分页处理 3 Jive中Jdom使用剖析 4 丰富的图释 5 使用正则表达式让你的jive显示图片 6 Jive3增加帖子的点击功能的高效方法 <br> 国际化支持 1 jive_forums_i18n_zh_...
VS2005 ASP.NET本地化学习笔记&感受 在自定义Server Control中捆绑JS文件 Step by Step 深度解析Asp.Net2.0中的Callback机制 使用 Web 标准生成 ASP.NET 2.0 Web 站点 ASP.NET 2.0基于SQLSERVER 2005的aspnetdb.mdf...
系统设计 1 jive设计思路 2 jive的工作内幕 3 Jive源代码研究 4 Jive中的设计模式 5 jive学习笔记 <br> <br> 数据库设计 1 Jive Forums数据库说明(英文) 2 Jive KB...