正则表达式是由一个字符序列组成的搜索模式。
/zxs/i 就是一个正则表达式,语法是:
/正则表达式主体/修饰符(可选)
正则表达式的修饰符在全局搜索中不区分大小写,修饰符有3种:
i:执行对大小写不敏感的匹配;
g:执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)
m:执行多行匹配
正则表达式的模式:
[abc] 查找方括号之间的任何字符
[0-9] 查询任何从0至9的数字
(x|y) 查找任何以|分隔的选项
元字符:
\d 查找数字
\s 查找空白字符
\b 匹配单词边界
\uxxxx 查找以十六进制数xxxx规定的Unicode字符
量词:
n+ 匹配任何包括至少一个n的字符串
n* 匹配任何包含零个或多个n的字符串
n? 匹配任何包括零个或一个n的字符串
常用的字符串方法:
search()----在字符串中检索规定的子字符串,或者与正则表达式相匹配的字符串,返回子串的起始位置。
//查找与正则表达式相匹配的字符串
var str = "Visit zxs!";
var n = str.search(/zxs/i);
//结果输出为6
//在字符串中检索规定的子字符串
var str = "Visit zxs!";
var n = str.search("zxs");
//结果输出为6
replace()----替换字符串中的字符
var str = document.getElementById("demo").innerHTML;
var txt = str.replace(/microsoft/i,"zxs");
//结果为将字符串中的microsoft替换为zxs,这里使用的是正则表达式且不区分大小写
var str = document.getElementById("demo").innerHTML;
var txt = str.replace("Microsoft","zxs");
//结果为将字符串中的microsoft替换为zxs
正则表达式方法:
test()----检测一个字符串中是否匹配某个模式,如果字符串中含有匹配的文本,则返回true,否则返回flase.
var patt = /e/;
patt.test("The best things in life are free!");
//结果为true
合并为一行代码:
/e/.test("The best things in life are free!");
exec()----检索字符串中的正则表达式的匹配,该函数返回一个数组,其中存放匹配的结果,如果未找到匹配,则返回值为null。
/e/.exec("The best things in life are free!");
//结果为e