js正则表达式使用
2016-10-14 11:46
246 查看
正则表达式的理解:
正则表达式可以帮助我们更好的描述复杂的文本格式。一旦你描述清楚了这些格式,那你就可以利用它们对文本数据进行检索、替换、提取和修改操作。
在一些输入框和文本提取的时候,正则表达式真的是重要,这次终于是稍微入门了,以前一直没有耐心看。
其实正则表达式的内容也不算很多,我觉得能看懂一些基本就很可以了,一些复杂的正则表达式都可以在网上搜索的到。
要点1:3个重要的正则表达式命令
括号:
[:表示需要匹配的内容
{:需要匹配的数量
(:分组(这个可以自己再深入了解一下)
插入符号:
^:正则表达式的开始
美元符号:
$:正则表达式的结束
实例演示:Email格式
第一步:email开始是长度在1-10的英文字母,最后跟一个"@":^[a-zA-Z0-9]{1,10}@
第二步:@后面是长度在1-10的英文字母,后面跟一个".":[a-zA-Z]{1,10}.
第三步:最后以.com或.org结束:(com|org)$
最终表达式:^[a-zA-Z0-9]{1,10}@[a-zA-Z]{1,10}.(com|org)$
/g (全文查找出现的所有匹配字符)
/m (多行查找)
/gi(全文查找、忽略大小写)
/ig(全文查找、忽略大小写)
要点3:一些快捷命令
[0-9]:\d
[a-z][0-9][_]:\w
0次或多次发生:*
至少一次发生:+
0次或1次发生:?
要点4:常用的一些方法
test:是否存在,返回值为boolean
exec:查找,返回数组
search:检索,返回索引下标
match:检索,返回数组和Null(有无标记g:1.无g,执行一次匹配,遇到即止,2.有g,则相反)
简单的测试:
![](http://img.blog.csdn.net/20161014104644219?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
无g:
![](http://img.blog.csdn.net/20161014104709060?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
replace:替换,返回字符串
我们最常用的时传入两个字符串的做法,但这种做法有个缺陷,只能replace一次
console.info('abcabc'.replace('abc','N')); //Nabc
replace方法的第一个参数还可以传入RegExp对象,传入正则表达式可以时replace方法更加强大灵活
console.info('abcabc'.replace(/abc/g,'N')); //NN
split:分割,返回数组和null
我们经常使用split方法把字符串分割为字符数组
console.info('a,b,c'.split(',')); //["a", "b", "c"]
和replace方法类似,在一些复杂的分割情况下我们可以使用正则表达式解决
console.info('a1b2c3d'.split(/\d/)); //["a", "b", "c", "d"]
正则表达式可以帮助我们更好的描述复杂的文本格式。一旦你描述清楚了这些格式,那你就可以利用它们对文本数据进行检索、替换、提取和修改操作。
在一些输入框和文本提取的时候,正则表达式真的是重要,这次终于是稍微入门了,以前一直没有耐心看。
其实正则表达式的内容也不算很多,我觉得能看懂一些基本就很可以了,一些复杂的正则表达式都可以在网上搜索的到。
要点1:3个重要的正则表达式命令
括号:
[:表示需要匹配的内容
{:需要匹配的数量
(:分组(这个可以自己再深入了解一下)
插入符号:
^:正则表达式的开始
美元符号:
$:正则表达式的结束
实例演示:Email格式
第一步:email开始是长度在1-10的英文字母,最后跟一个"@":^[a-zA-Z0-9]{1,10}@
第二步:@后面是长度在1-10的英文字母,后面跟一个".":[a-zA-Z]{1,10}.
第三步:最后以.com或.org结束:(com|org)$
最终表达式:^[a-zA-Z0-9]{1,10}@[a-zA-Z]{1,10}.(com|org)$
要点2:正则表达式的标记
/i (忽略大小写)/g (全文查找出现的所有匹配字符)
/m (多行查找)
/gi(全文查找、忽略大小写)
/ig(全文查找、忽略大小写)
要点3:一些快捷命令
[0-9]:\d
[a-z][0-9][_]:\w
0次或多次发生:*
至少一次发生:+
0次或1次发生:?
要点4:常用的一些方法
test:是否存在,返回值为boolean
exec:查找,返回数组
var reg=/\d/g; var r=reg.exec('a1b2c3'); console.log(reg.lastIndex); //2 r=reg.exec('a1b2c3'); console.log(reg.lastIndex); //4
search:检索,返回索引下标
match:检索,返回数组和Null(有无标记g:1.无g,执行一次匹配,遇到即止,2.有g,则相反)
简单的测试:
var r='abc'.match(/\w/g); console.info(r);结果:
无g:
replace:替换,返回字符串
我们最常用的时传入两个字符串的做法,但这种做法有个缺陷,只能replace一次
console.info('abcabc'.replace('abc','N')); //Nabc
replace方法的第一个参数还可以传入RegExp对象,传入正则表达式可以时replace方法更加强大灵活
console.info('abcabc'.replace(/abc/g,'N')); //NN
split:分割,返回数组和null
我们经常使用split方法把字符串分割为字符数组
console.info('a,b,c'.split(',')); //["a", "b", "c"]
和replace方法类似,在一些复杂的分割情况下我们可以使用正则表达式解决
console.info('a1b2c3d'.split(/\d/)); //["a", "b", "c", "d"]
相关文章推荐
- JS中的正则表达式小小的技巧---Test方法的使用
- JS中的正则表达式小小的技巧---Test方法的使用
- 在JS使用正则表达式屏蔽敏感字符
- 在JS使用正则表达式屏蔽敏感字符
- 验证输入是否为空的js - 使用正则表达式对象
- 在JS中使用正则表达式验证电子邮箱是否正确
- JS 正则表达式使用详解
- 正则学习之一:在js中使用正则表达式
- JS中使用正则表达式和常用正则表达式
- 在js中使用正则表达式
- {JS}JavaScript使用正则表达式
- 在Js中使用正则表达式验证输入时的注意点
- js正则表达式使用
- 在JS中使用正则表达式
- JS中正则表达式的使用
- js正则表达式使用
- 正则表达式的在java、js、jsp中的使用
- js正则表达式使用
- 简单的正则表达式在JS中的使用