正则表达式
2013-03-07 19:11
253 查看
Javascript正则表达式
1,正则表达式是一种规则,就是验证我们的字符串是不是符合某种规则。也可以比喻成筛子,将网页上我们需要的的数据筛选出来,同时,正则也是一门语言,不依赖与任何语言,需要其他语言去支持正则。
学习的内容:
1)正则的语法
2)Javascript是如何支持正则的
Javascript是通过操作RegExp这个对象来实现的
获得这个对象:
New RegExp(正则表达式,模式修正符)‘
快捷语法 /正则表达式/模式修正符
常用的方法:
Test()检测字符串是否含有符合我们规则的字符,返回布尔值。
Exec()检测字符串是否含有符合我们规则的字符串,如果有返回匹配到的值,如果没有返回null。
[ ]中 - 表示的是一个范围 ^ 代表 非
[a-z] 表示的是小写字母
[A-Z] 表示的是大写字母
[0-9]表示的是所有的数字
[za] z或a 二选一
[ ] 外面
^ 代表 某个字符的开始,$ 表示以某个字符结束
| 代表 或
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));
表示字符数量
{} 表示是数量范围
{最小数量,最大数量} {1,6}最少1次最多6次
{1,} 表示1到正无穷
{,5}表示最多5次
{6} 表示6次
* 代表0次或多次
+ 代表1次或多次,任意多
? 代表0次或一次
分组的使用
在正则表达式中,我们通过()将表达式分成若干部分,在通过RegExp对象的exec将匹配的结果以数组的形式返回
下标为0 的数组 返回的是 整个正则表达式匹配的结果
下标为1数组,返回的是第一个分组匹配的结果
模式修正符
I ignoreCase 不忽略大小写
G global 全局匹配
M 多行匹配 正则默认情况,一个字符串就是一行,即使换行符(\n),也会当作一行来执行,单行模式能够
在js代码中,我们通过\n 来换行 在前台页面,通过<br/>
利用字符串处理正则表达式
字符串对象的方法处理正则表达式
Match() 将正则匹配的结果输出 rplace() 根据正则匹配的结果,进行字符串替换
Split() 字符串拆分,根据分隔符将字符串进行拆分
1,正则表达式是一种规则,就是验证我们的字符串是不是符合某种规则。也可以比喻成筛子,将网页上我们需要的的数据筛选出来,同时,正则也是一门语言,不依赖与任何语言,需要其他语言去支持正则。
学习的内容:
1)正则的语法
2)Javascript是如何支持正则的
Javascript是通过操作RegExp这个对象来实现的
获得这个对象:
New RegExp(正则表达式,模式修正符)‘
快捷语法 /正则表达式/模式修正符
常用的方法:
Test()检测字符串是否含有符合我们规则的字符,返回布尔值。
Exec()检测字符串是否含有符合我们规则的字符串,如果有返回匹配到的值,如果没有返回null。
[ ]中 - 表示的是一个范围 ^ 代表 非
[a-z] 表示的是小写字母
[A-Z] 表示的是大写字母
[0-9]表示的是所有的数字
[za] z或a 二选一
[ ] 外面
^ 代表 某个字符的开始,$ 表示以某个字符结束
| 代表 或
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));
表示字符数量
{} 表示是数量范围
{最小数量,最大数量} {1,6}最少1次最多6次
{1,} 表示1到正无穷
{,5}表示最多5次
{6} 表示6次
* 代表0次或多次
+ 代表1次或多次,任意多
? 代表0次或一次
分组的使用
在正则表达式中,我们通过()将表达式分成若干部分,在通过RegExp对象的exec将匹配的结果以数组的形式返回
下标为0 的数组 返回的是 整个正则表达式匹配的结果
下标为1数组,返回的是第一个分组匹配的结果
模式修正符
I ignoreCase 不忽略大小写
G global 全局匹配
M 多行匹配 正则默认情况,一个字符串就是一行,即使换行符(\n),也会当作一行来执行,单行模式能够
在js代码中,我们通过\n 来换行 在前台页面,通过<br/>
利用字符串处理正则表达式
字符串对象的方法处理正则表达式
Match() 将正则匹配的结果输出 rplace() 根据正则匹配的结果,进行字符串替换
Split() 字符串拆分,根据分隔符将字符串进行拆分