正则表达式
正则表达式:(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) 编辑 收藏 举报