前端开发前端技术JavaScript-ES6

JS RegExp对象

2017-10-10  本文已影响31人  WEB_克克

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 字符。
上一篇下一篇

猜你喜欢

热点阅读