new RegExp对象用于在字符串中查找你想查找的内容
new RegExp可以接受两个参数,第一个参数是字符串或者是表达式,第二个参数是可选的,规定用什么方式去匹配,比如new RegExp(‘hello’,’g’) 全局匹配
test()方法 ——— 查找指定的内容
var content = 'Hello'; //定义一个字符串
var reg = new RegExp('e'); //定义RegExp要查找的内容 e
//var reg = /e/; 简易写法,表达式的方式
reg.test(content); //得到true 用RegExp的test方法去检测 content的这个字符串里有没有e这个字符,如果有返回true,否则返回false。
exec()方法———查找指定的值,如果有就返回指定的值,没有就返回null
var content = 'Hello'; //定义一个字符串
var reg = new RegExp('o'); //定义RegExp要查找的内容 o
var result = reg.exec(content) //得到 ["o", index: 4, input: "Hello"]
document.write(result); // 可以直接得到 o
获取值:
result[0] 得到 o
result.index 得到4,4代表索引位置
result.input 得到 Hello。
compile() ——— 用于替换要查找的内容
var content = 'Hello';
var reg = new RegExp('o');
reg.compile('h') //把 o 替换成 l
var result = reg.test(content) // true
|
JsvaScript match()
语法: str.match()
作用:在字符串中查找指定的值,如果没找到返回null,如果找到返回指定得值,有两种情况
1. 表达式后面不加修饰参数
var str = "hello";
str.match(/e/); //["e", index: 1, input: "hello"] 数组里有匹配到的e,也有e出现的位置。
2. 表达式后面增加修饰参数 g, 表示全局搜索
var str="hello world";
str.match(/o/g); // ["o", "o"] 检索到2个o
JavaScript search()
语法:str.search
作用:检索指定的值在字符串中出现的位置,如果没找到就返回-1, 和 indexOf()方法类似,
var str="hello 123"
str.search(/\d/) // 6 匹配数字出现的位置
str.search(/o/) // 4 匹配 o
"hello 123".indexOf('1') //6
JavaScript replace()
语法:str.replace()
作用:查找并且替换内容(替换字符串中所有匹配到的内容)
var str = 'hello world hello world'
str.replace('hello', 'world') // world world hello world 替换一个hello
str.replace(/hello/g, 'world') // world world world world 替换全局hello
//第一个参数可是是正则表达式
//第二个参数要替换成什么内容
W3C标准解释
修饰符
i
执行对大小写不敏感的匹配。
g
执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
m
执行多行匹配。
方括号用于查找某个范围内的字符:
[abc]
查找方括号之间的任何字符。
[^abc]
查找任何不在方括号之间的字符。
[0-9]
查找任何从 0 至 9 的数字。
[a-z]
查找任何从小写 a 到小写 z 的字符。
[A-Z]
查找任何从大写 A 到大写 Z 的字符。
[A-z]
查找任何从大写 A 到小写 z 的字符。
[adgk]
查找给定集合内的任何字符。
[^adgk]
查找给定集合外的任何字符。
(red|blue|green)
查找任何指定的选项。
元字符(Metacharacter)是拥有特殊含义的字符:
[.]
查找单个字符,除了换行和行结束符。
[\w]
查找单词字符。
[\W]
查找非单词字符。
[\d]
查找数字。
[\D]
查找非数字字符。
[\s]
查找空白字符。
[\S]
查找非空白字符。
[\b]
匹配单词边界。
[\B]
匹配非单词边界。
\0
查找 NUL 字符。
[\n]
查找换行符。
\f
查找换页符。
\r
查找回车符。
\t
查找制表符。
\v
查找垂直制表符。
[\xxx]
查找以八进制数 xxx 规定的字符。
[\xdd]
查找以十六进制数 dd 规定的字符。
[\uxxxx]
查找以十六进制数 xxxx 规定的 Unicode 字符。