正则表达式

正则表达式:(regExp)或RE (用来操作字符串的)

1、常用的几种方法和作用:

a、数据验证:

可以测试输入的字符串是否含有非法字符、是否符合邮箱格式等。

b、替换文本

可以识别文档中的特定文本,然后选择完全删除或用其他文本替换。

c、查找文本:

可以查找文档内或输入域内特定的文本内容。

2、语法:

创建正则:

* 构造函数:let var = new RegExp(pattern,modifiers);

*字面量:let re = /pattern/modifiers;

参数说明:

pattern:模式。(定义规则)

modifiers:修饰符(是否进行全局搜索、是否区分大小写)

 

3、RegExp对象方法:

test()  方法搜索制定的值,他所返回的结果是true或false。

exec()  方法搜索制定的值,他所返回的值如果存在,则输出的是值所在的具体位置,

若是返回的值不存在,则输出的值是null。

compile()  该方法是用于改变RegExp的(可以改变你所要搜索的值)。

eg:

let  re = /a/;(包含a)

console.log(re.test("hello my name is "));

4.修饰符:

i  不区分大小写。

g  全局查找。

 

5.用来查找某个范围:

表达式       描述

[abc]   查找方括号之间的任何字符。

[^abc]   查找任何不在⽅括号之间的字符。

[0-9]   查找从 0至9 的任意数字。

[a-z]   查找从小写 a 到小写 z 的任意字母。

[A-Z]   查找从小写 A 到小写 Z 的任意字母。

[A-z]   查找从小写 A 到小写 z 的任意字母。

 

6、元字符(Metacharacter)是拥有特殊含义的字符。

元字符     描述

\w   查找单词字符。

\W   查找非单词字符。

\d   查找数字字符。

\D   查找非数字字符。

\s   查找空白字符。

\S   查找非空白字符。

\b   匹配单词边界。

\B   匹配非单词边界。

 

7、量词 

量词     描述

n+   匹配任何包含至少一个 n 的字符串。

n*   匹配任何包含零个或多个 n 的字符串。

n?   匹配任何包含零个或一个 n 的字符串。

n{x}   匹配包含 x 个 n 的字符串。

n{x,}   匹配包含至少 x 个 n 的字符串。

n{x, y}   匹配包含至少 x 个最多 y 个 n 的字符串。

^n   匹配任何开头为 n 的字符串。

n$   匹配任何结尾为 n 的字符串。

 

8、支持正则的string对象的方法

search()

search() 方法用于检索字符串中指定的⼦字符串,或检索与正则表达式相匹配的子字符串。

例:

 let str = "hello world";
str.search(/e/); // 返回 1

match()

match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。

例:

 let str = "The rain in SPAIN stays mainly in the plain";
 str.match(/ain/gi); // [ 'ain', 'AIN', 'ain', 'ain' ]

 

replace()

replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

例:

 let str="Mr Blue has a blue house and a blue car";
 str.replace(/blue/gi, "red"); // "Mr red has a red house and a red car"

 

posted on 2017-09-16 15:18  YUHONGCUISummer  阅读(179)  评论(0编辑  收藏  举报