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对象转化成字符串 |
509

被折叠的 条评论
为什么被折叠?



