正则表达式

来源:互联网 发布:疯狂的淘宝美工助手 编辑:程序博客网 时间:2024/06/08 04:26

Javascript正则表达式

1,正则表达式是一种规则,就是验证我们的字符串是不是符合某种规则。也可以比喻成筛子,将网页上我们需要的的数据筛选出来,同时,正则也是一门语言,不依赖与任何语言,需要其他语言去支持正则。

学习的内容:

1)正则的语法

2)Javascript是如何支持正则的

Javascript是通过操作RegExp这个对象来实现的

获得这个对象:

New RegExp(正则表达式,模式修正符)‘

快捷语法  /正则表达式/模式修正符

常用的方法:

Test()检测字符串是否含有符合我们规则的字符,返回布尔值。

Exec()检测字符串是否含有符合我们规则的字符串,如果有返回匹配到的值,如果没有返回null

[ ]中 表示的是一个范围  ^  代表 非

[a-z] 表示的是小写字母

[A-Z] 表示的是大写字母

[0-9]表示的是所有的数字

[za] za  二选一

[ ] 外面

代表  某个字符的开始,表示以某个字符结束

|  代表  或

var reg = /a|b|c/;

Var str=” a”;

Alert(reg.test(str);)

表示任意字符,但不匹配换行符(\n)

    var reg = /./;

var str = '*';

alert(reg.exec(str));

\  转义字符  将后面的字符原样输出

     var reg = /./;

 var str = '*';

 alert(reg.exec(str));

常用的转义字符来表示某个字符

\w  匹配所有的字母数字下划线 等于[a-zA-Z0-9_)]

\W   表示  非\w

\d   所有数字

\D   所有的字符,除了字符

\s  空格

\S 所有字符,除了空格

\b  字符边界(boundary

\B  所有的字符,除了字符边界

Unicode编码表示汉字

因为javascript 内置的编码就是 Unicode  4e00-9f5a

 alert(String.fromCharCode(0x9fa5));  //需要注意:参数要求是16进制

var reg = /[\u4e00-\u9fa5]/;

var str = '你好吗?';

alert(reg.exec(str));

表示字符数量

{}   表示是数量范围

{最小数量,最大数量16}最少1次最多6

{1,} 表示1到正无穷

{,5}表示最多5

6}  表示6

*  代表0次或多次

+  代表1次或多次,任意多

? 代表0次或一次

分组的使用

在正则表达式中,我们通过()将表达式分成若干部分,在通过RegExp对象的exec将匹配的结果以数组的形式返回

下标为的数组 返回的是 整个正则表达式匹配的结果

下标为1数组,返回的是第一个分组匹配的结果

模式修正符

I  ignoreCase 不忽略大小写

G global 全局匹配

M  多行匹配         正则默认情况,一个字符串就是一行,即使换行符(\n),也会当作一行来执行,单行模式能够

js代码中,我们通过\n 来换行        在前台页面,通过<br/>

利用字符串处理正则表达式

字符串对象的方法处理正则表达式

Match()  将正则匹配的结果输出     rplace()  根据正则匹配的结果,进行字符串替换

Split() 字符串拆分,根据分隔符将字符串进行拆分