javascript中使用正则表达式:
1.两种形式定义
1) var re= /ab+c/
2) var re= new RegExp("ab+c")
这两种定义是等价的
2.常用方法
1)2个表达式特有方法reg.exec() reg.test(),
2)4个字符串的方法 match,replace,search,split
方法 | 描述 |
---|---|
exec | 在字符串中执行一个搜索的匹配,返回一个数组格式,但只匹配出一个正确的结果 |
test | 在字符串中执行一个测试的匹配,返回布尔值(true和false) |
match | 字符串的方法,执行一个搜索的匹配,返回一个数组或null ,匹配/g后返回所有元素的数组 |
search | 字符串的方法, 执行一个测试的匹配,返回匹配的索引值,如果失败,返回-1 |
replace | 字符串的方法,执行一个搜索的匹配,使用字符串取代匹配到的字符串. |
split | 字符串的方法,使用一个正则表达式或者字符串分割字符串,返回数组,可不用/g就 有全局性 |
// exec
var re = /d(b+?)d/g;
var myArray = re.exec("sdbbbbbbddbbdf");
alert(myArray);//dbbbbbbd,bbbbbb
//test
var re = /d(b+)d/g;
var myArray = re.test("sdbbbbbbddbbdf");
alert(myArray); //true
//match
var re = /d(b+)d/g;
var myArray = "sdbbbbbbddbbdf".match(re);
alert(myArray);//dbbbbbbd,dbbd
//search
var re = /d(b+)d/g;
var myArray = "sdbbbbbbddbbdf".search(re);
alert(myArray); //1
//replace
var re = /d(b+)d/g;
var myArray = "sdbbbbbbddbbdf".replace(re, "#");
alert(myArray); //s##f
//split,正则表达式匹配的内容作为分割符
var re = /d(b+)d/g;
var myArray = "sdbbbbbbddbbdf".split(re);
alert(myArray); //s,f
3.JS中常用正则表达式总结
1)匹配首尾空格的正则表达式:(^s*)|(s*$)
2)匹配中文字符的正则表达式: [u4e00-u9fa5]
3)匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
4)匹配空白行的正则表达式:ns*r
5) 匹配IP地址:
((?:(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d))))