简单的正则表达式http://www.cainiao8.com/web/js_note/js_regular_expression.html

来源:互联网 发布:淘宝清仓在哪里 编辑:程序博客网 时间:2024/04/30 06:37

一片两片三四片,落尽正则全不见

上面的小标题翻译成正则就是{1},{2},{3,4},{1,}。

匹配不到的时候返回的是null

c{n}

{1}表示一个的意思。

/c{1}/只能匹配一个c。

/c{2}/则会匹配两个连续的c。

以此类推,

/c{n}/则会匹配n个连续的c。

 

c{m,n}

c{3,4}的意思是,连续的3个c或者4个c。

 

c{n,}

c{1,}表示1个以上的c。

说明了正则表达式会尽量多地匹配。

 

 

*,+,?

*表示0次或者多次,等同于{0,},即

c* 和 c{0,} 是一个意思。

+表示一次或者多次,等同于{1,},即

c+ 和 c{1,} 是一个意思。

最后,?表示0次或者1次,等同于{0,1},即

c? 和 c{0,1} 是一个意思。

 

贪心与非贪心

人都是贪婪的,正则也是如此。我们在例子reg = /c{3,4}/;str='ccccTest';的例子中已经看到了,能匹配四个的时候,正则绝对不会去匹配三个。上面所介绍的所有的正则都是这样,只要在合法的情况下,它们会尽量多去匹配字符,这就叫做贪心模式。

如果我们希望正则尽量少地匹配字符,那么就可以在表示数字的符号后面加上一个?。组成如下的形式:

{n,}?, *?, +?, ??, {m,n}?

 

/^开头,结尾$/

点’.’

‘.’会匹配字符串中除了换行符/n之外的所有字符

 

二选一,正则表达式中的或,“|“

b|c表示,匹配b或者c。

 

 

 

原创粉丝点击