正则表达式串讲之javascript篇

简介:
Javascript篇
 
1.Javascript正则表达式
1.)String方法
a.)String.search()
参数:可以是正则表达式也可以是普通的字符串。
返回值:如果找到匹配则返回首字符的索引位置,找不到则返回-1
var s = "Hello world.";
reg = /world/i;            // i表示不区分大小写
alert(s.search(reg));
b.)String.replace()
参数:1.正则表达式 2.用于替换的字串
返回替换后的字符串
var s = "Hello world.World!";
reg = /world/gi;            // g为全局模式,会替换所有匹配
alert(s.replace(reg,'a'));
子表达式(可以通过$n访问括号里匹配的子表达式):
var s = "11 22 33 44 55 66 77!";
reg = /(\S+)(\s+)(\S+)/g;            // i表示不区分大小写
alert(s.replace(reg,'$3$2$1')); //22 11 44 33 66 44 77!
c.)String.match()
把匹配的字符串放到数组里面返回。没有匹配则返回null
//全局模式下,每个匹配放到返回数组里
var s = "我的电话号码0631-1234567 你的是021-87654321,我们常联系啊!";
reg = /(0\d\d-\d{8}|0\d\d\d-\d{7})/g;   // 注意这个正则可能不完整还可能有更简单的写法
alert(s.match(reg)); //0631-1234567,021-87654321
//没有设置g标记时,返回的数组[0]是整体匹配,1-n表示子匹配
var s = "我的工资是$800,她的工资是$400!";
reg = /(\$)(\d+)/;   // $需要\转义
alert(s.match(reg)); //$800,$,800
d.)String.split([分隔符[,返回元素个数限制])
//普通的分割
var s = "我的工资是$800,她的工资是$400!";
alert(s.split(',')[0]); //我的工资是$800
//使用正则
var s = "中国人口达到14亿,人均收入却不到3000美元,所以中国还处于发展中国家!";
alert(s.split(/\d/)); //中国人口达到,亿,人均收入却不到,美元,所以中国还处于发展中国家!
2.)RegExp对象
a.)RegExp.test(str)
如果str匹配此正则对象则返回true.
var s = "这句话包含数字123用于测试!";
var re=/\d+/;
if(re.test(s))
alert("包含数字");
b.)RegExp.exec()比String.match()更强大
//非全局调用exec,[0]返回匹配,1-n返回子匹配
var s = "数字123,字母abc,下划线_!";
var re=/(\w)\w*/;
alert(re.exec(s));//123,1
alert(re.exec(s).input);//数字123,字母abc,下划线_!
alert(re.exec(s).index);//2
//带全局标记
var s = "数字123,字母abc,下划线_!";
var re=/(\w)\w*/g;
alert(re.lastIndex);//0
alert(re.exec(s));//123,1
alert(re.lastIndex);//5
alert(re.exec(s));//abc,a
alert(re.lastIndex);//11
alert(re.exec(s));//_,_
alert(re.lastIndex);//16
c.)正则表达式构造函数
re = new RegExp("pattern",["flags"])
var s = "数字123,字母abc,下划线_!";
var re=new RegExp("( \\w)\\w*","g");//由于\在引号内也是转义符,所以需要多加一个\
alert(re.exec(s));//123,1




 本文转自 xcf007 51CTO博客,原文链接:http://blog.51cto.com/xcf007/144564 ,如需转载请自行联系原作者

相关文章
|
1月前
|
移动开发 JavaScript 前端开发
JavaScript的正则表达式实现邮箱校验
JavaScript的正则表达式实现邮箱校验
53 1
|
1月前
|
JavaScript 前端开发
JavaScript随手笔记 --- 用正则表达式匹配字符串是否为运算公式
JavaScript随手笔记 --- 用正则表达式匹配字符串是否为运算公式
|
1月前
|
JavaScript 前端开发
javascript中的正则表达式
javascript中的正则表达式
|
2月前
|
JavaScript 前端开发
JavaScript中的正则表达式构造函数和正则表达式字面量
JavaScript中的正则表达式构造函数和正则表达式字面量
|
3月前
|
JavaScript 前端开发 API
【JavaScript】<正则表达式Regular Expression>JavaScript正则表达式解析
【1月更文挑战第17天】【JavaScript】<正则表达式Regular Expression>JavaScript正则表达式解析
|
4月前
|
前端开发 JavaScript
前端JavaScript入门-day08-正则表达式
前端JavaScript入门-day08-正则表达式
35 0
|
1月前
|
监控 JavaScript 前端开发
JavaScript 正则表达式详解
【2月更文挑战第26天】
34 1
JavaScript 正则表达式详解
|
3月前
|
JavaScript
js如何去实现用正则表达式来判断一个值
js如何去实现用正则表达式来判断一个值
13 0
|
3月前
|
机器学习/深度学习 JavaScript 前端开发
JavaScript 正则表达式
JavaScript 正则表达式
96 0
|
3月前
|
存储 JavaScript 前端开发
JavaScript:正则表达式
JavaScript:正则表达式
29 1