一、作用
- 测试字符串的某个模式。
例如,可以对一个输入字符串进行测试(包含/位置/……) - 替换文本。可以在文档中使用一个正则表达式来标识特定文字,然后可以全部将其删除,或者替换为别的文字
- 根据模式匹配从字符串中提取一个子字符串。可以用来在文本或输入字段中查找特定文字
二、2 正则表达式语法
一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。
三、创建正则表达式
1. 对象创建法
var re = new RegExp(); //RegExp是一个对象,和Aarray一样
//没有任何效果,需要将正则表达式的内容作为字符串传递进去
Var re = new RegExp("a");//最简单的正则表达式,将匹配字母a
var re = new RegExp("a","i");//第二个参数,表示匹配时不分大小写 a = A
RegExp 对象有 3 个方法:test()、exec() 以及 compile()。
-
test() 方法检索字符串中的指定值。返回值是 true 或 false,不会输出具体的值
-
var patt1=new RegExp(“e”);
document.write(patt1.test(“The best things in life are free”)); //true -
exec() 方法检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null
-
var patt1=new RegExp(“e”);
document.write(patt1.exec(“The best things in life are free”));//e 会将匹配到的值返回 -
compile() 方法用于改变 RegExp。
-
compile() 既可以改变检索模式,也可以添加或删除第二个参数。
var patt1=new RegExp(“e”);
document.write(patt1.test(“The best things in life are free”));//true
patt1.compile(“d”);
document.write(patt1.test(“The best things in life are free”));//truefalse
RegExp构造函数第一个参数为正则表达式的文本内容,而第二个参数则为可选项标志修饰符.可以组合使用
var re = new RegExp(“a”,“g”); //匹配所有的a或A
例如,如果需要找到所有某个字符的所有存在,则可以使用 “g” 参数 (“global”)。
如果希望忽略大小写,可以用“i”参数
2 直接量语法:
var re = /a/gi;
支持正则表达式的string对象的方法
- search 检索与正则表达式相匹配的值
- match 找到一个或多个正则表达式的匹配
- replace 替换与正则表达式匹配的子串
- split 把字符串分割成字符串数组