`
dowhathowtodo
  • 浏览: 780017 次
文章分类
社区版块
存档分类
最新评论

正则表达式学习笔记

 
阅读更多

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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics