l 正则表达式的工作原理
使用的是通配符匹配技术。
l 正则表达式的语法。
1.字符与字符串:在正则表达式中一种最简单的匹配方法就是字符与自身的匹配。例如“/a/”匹配a
/adc/ abd /abc\.txtabx.txt /what’s you name\?/ what’s yourname
2、字符类正则表达式的字符类可以代表一系列的字符。一个字符类可以与其他的所包含的任何字符匹配。/[abd]/就是一个字符类可以匹配 a、b、c;
/[a-h]/匹配小写字符a-h
/[A-Z]]/匹配大写字符A-Z
/[1-9]/匹配1-9
在字符类中^代表排除性质的匹配。
[^abc] 匹配除abc之外的字符 [^A-Z]匹配除A-Z之外的字符
\w 相当于/[a-zA-Z]/\w/[^A-Za-z]/
匹配多个字符
/[1-9][0-9]/匹配10-99
3、重复类
字符与字符类只能匹配单个字符,例如/\d/只能匹配0-9,如果想要匹配一个两位数,/\d\d/,为了解决正则表达式提供重复类。
/第[1-9]\d*章/
重复类
|
匹配内容
|
{n}
|
匹配前一项n次
|
{n,}
|
匹配前一项至少n次,多不限
|
{n,m}
|
匹配n<次数<m
|
?
|
匹配前一项0次或一次,相当于{0,1}
|
{+}
|
匹配前一项至少一次{1,}
|
{*}
|
匹配前一项0次或多次相当于{0,}
|
4、选择符
正则表达式选择符用于分隔用来选择的文字。/index|default|list/ 可以匹配字符串index defaultlist.正则表达式的匹配方式是自左向右,一旦匹配中就会停止。
5、正则表达式的定位符
/^第[1-9]\d*章$/
匹配文章标题
定位符
|
|
^
|
匹配字符串的开头,如果在多行文本中匹配一行的开头
|
$
|
匹配字符串的结尾
|
\b
|
匹配一个词的边界,也就是单词与空格之间的位置
|
\B
|
匹配一个非单词边界
|
(?=p)
|
正前向申明,要求接下来字符都与模式p匹配
|
(?!=)
|
反前向申明,接下来的字符都不予模式p匹配
|
6、分组
正则表达式中可以用小括号对匹配符进行分组。将匹配符分组之后,可以像一个独立的字符那样进行重复类的操作。
/boy(friend){0,1}/可以匹配boy或者boyfriend,将friend当成一个字符。
7、标志
标志用于说明匹配规则
标志符
|
说明
|
I
|
匹配时区分大小写
|
g
|
匹配时执行全局匹配模式,即找出所有的
|
M
|
多行匹配
|
标识符一般在表达式外面,用于说明/class/i
l 正则表达式对象
1、 String中的正则表达式
Match()搜索字字符串,返回匹配字符串组成的数组
Replace()查找并替换字符串中的字符串
Search()搜索子字符串
Split()将字符串分隔成数组
l RegExp对象的属性和方法
方法
方法名
|
说明
|
Exec()
|
执行匹配,成功返回数组,否则返回null
|
Test()
|
测试正则表达式的匹配,返回true或false
|
toSource()
|
返回RegEXp对象的源代码
|
toString()
|
将RegExp对象转化成字符串
|
分享到:
相关推荐
Java正则表达式学习笔记,比较基础,适合初学者
基于java的开发源码-java多线程反射泛型及正则表达式学习笔记和源码.zip 基于java的开发源码-java多线程反射泛型及正则表达式学习笔记和源码.zip 基于java的开发源码-java多线程反射泛型及正则表达式学习笔记和源码....
正则表达式 txt文档 详细的总结正则表达式!
正则表达式学习笔记小结分享,学习正则表达式的人,开发,实施都会用到。技术分享培训ppt课件。
正则表达式学习笔记正则表达式学习笔记正则表达式学习笔记正则表达式学习笔记正则表达式学习笔记正则表达式学习笔记
好东西才与大家分享!这是博客园一位老师的正则表达式教学笔记,很精炼的阐述,看了你一定不后悔……
正则表表达式对于很多人都很揪心,像我一样,希望这份资料对你们有帮助,比较偏基础,自己也可以照着实例敲一下,大牛之路很漫长啊
以前学习了正则表达式,总结一下查找起来也很方便,包括各种常用字符串的验证:如邮箱等
正则表达式学习笔记电子文档 比较基础的东西 希望对各位朋友有用
正则表达式学习笔记 pdf文档...................
java多线程反射泛型及正则表达式学习笔记和源码.zip