博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

正则表达式

Posted on 2016-11-02 20:26  XWZ1025  阅读(129)  评论(0编辑  收藏  举报

正则表达式

两种创建方式: 1. var reg = /a/;  一般使用这种

2. var reg = new RegExp(a);

对象两种方法: test()  匹配成功返回true 失败false

exec()  匹配成功返回这个匹配字符串的组成数组  失败为null

exec有两种属性  index  返回匹配的下标 和input表示原字符串

四种匹配方法:  1. match()  匹配  匹配成功就返回匹配成功的数组  失败返回null

2. search()  索引  搜索这个值有的话返回第一个出现的下标 没有返回-1 不需要查询每一个

3. replace() 替换  需要替换全部就加g全局

4. split()  分割  返回的是除了分割的字符 剩余的原数组 两个数组 ("fhdsg","sg")

{n}        限定符前的子模式必须出现恰好n次

{n,m}     限定符前的子模式至少出现n次,至多出现m次

{n,}     限定符前的子模式至少出现n次,至多没限制

+     同{1,}

*     同{0,}

?     同{0,1}

\d   匹配数字  与 [0-9] [0123456789]一个意思 为了简单。

\D          相当于[^0-9]

\w   匹配所有的字母和数字和下划线[A-Za-z0-9_]

\W   相当于[^A-Za-z0-9]

\s   包括空格(space)制表符(table)换页符等空白字符的其中任意一个

\S          匹配非空格制表符等

\b          匹配单词的边界

\B          匹配非单词边界

\t        查找制表符tab

\n          匹配换行键

\r          匹配回车

\f          匹配换页

[]          查找括号里的字符

-            0-9和 0123456789一个意思

g            全局搜索  不再是查询到就会停止

i   搜索的时候不会区分大小写

()          用来作为分组

^          托字符写在前面指的是以什么开始 写在中括号里表示取反

$            以什么结束

|            或的意思  a|b  匹配a或b

[\u4e00-\u9fa5] 匹配汉字  汉字编码的范围