正则表达式

一、定义
    正则表达式是对字符串操作的一种逻辑公式。用事先定好的一些特定字符组成一个“规则字符串”,再用“规则字符串”对字符串进行过滤。
ECMAScript通过RegExp类型来支持正则表达式。
它是对字符串执行模式匹配的强大工具
二、写法
1、直接量的语法:
    /pattern/attributes(/正则/正则属性,例如:/'a'/g  [全局匹配'a'])
2、RegExp对象的语法:
    new RegExp(pattern,attributes)
    RegExp 对象规定在文本中检索的内容。
pattern里面一个字符串,代表的是正则
attributes为可选字符串,包含属性:'g'、'i'、'm'
    分别是用于指定全局匹配、不区分大小写、多行匹配
三、RegExp对象有三个方法:
1、test():检索字符串中的指定值。返回值是true或false。
2、exec():检索字符串中的指定值,返回值是被找到的值,若没找到则返回null
3、compile():用于改变RegExp(改变和重新编译正则表达式)
四、元字符
1、. :查找单个字符,除了换行和行结束符
2、\w :查找单词字符、数字、“_”(即,字母、数字、下划线)
   \W :\w的取反
3、\d :查找数字
   \D :\d的取反
4、\s :查找空白字符(“”、‘\n’、‘\r’)
5、\b :匹配单词边界
   \B :\b的取反
6、\n :查找换行符
7、\u : 匹配汉字([\n4e00-\u9fa5 ])
8、^n:匹配任何开头为 n 的字符串。

9、n$:匹配任何结尾为 n 的字符串。

五、方括号(表示范围)

1、[abc] :查找方括号之间的任何(单个)字符。

2、[^abc] : 查找任何不在方括号之间的字符。

3、[0-9] : 查找任何从0 到 9的数字。

4、[a-z] :查找任何从小写 a 到 z的字符。

5、[A-Z] :查找任何从大写 A 到 Z 的字符

/[0-9A-Za-z_]/ : 相当于\w   ; 

^ /[^0-9A-Za-z_]/ è\W。

六、分支(或):|

七、量词

1、n+  :匹配任何包含至少一个 n 的字符串。

2、n*:匹配任何包含零个或多个 n 的字符串。

3、n?:匹配任何包含零个或一个 n 的字符串。

4、n{X}:匹配包含 X 个 n 的字符串。

5、n{X,Y}:匹配包含 X ~ Y 之间 n 的字符串。

 

6、n{X, }:匹配X个n字符串及以上

八、正则方法

1、search(reg):检索与正则表达式相匹配的值。

2、match(reg):找到一个或多个正则表达式的匹配。基本需要配合g

3、replace(reg, str):替换与正则表达式匹配的子串。

 

注:匹配中文字符的正则表达式: /[\u4e00-\u9fa5]/g

去掉首尾空格 reg = /^\s+|\s+$/g

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2016-09-26 19:48  Huan_klyj  阅读(253)  评论(0编辑  收藏  举报