Regular Expression 使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。按某种规则去匹配符合条件的字符串。不同编程语言的正则表达式略有不同。
JavaScript通过内置对象 RegExp 支持正则表达式,有两种方法实例化RegExp对象:字面量和构造函数。
// 实例化一个正则表达式,匹配字符串中的is单词
var reg = /\b[is]\b/g;
var str = 'She is girl, This is a computer.';
str = str.replace(reg, 'IS');
document.write(str);
// 结果 'She IS girl, This IS a computer.'
var reg = new RegExp('\b[is]\b', 'g');
var str = 'She is girl, This is a computer.';
str = str.replace(reg, 'IS');
document.write(str);
// 结果 'She IS girl, This IS a computer.'
RegExp 修饰符
i 执行时不区分大小写
g 执行时查找全局中的关键词
m 执行多行匹配
字符集
[0-9] 查找从0到9的数字
[A-Z] 查找从小写的a到小写的z的字符
[a-z] 查找从大写的A到大写的A的字符
预定义字符
. 查找单个字符,除了换行和行结束符
\w 查找单词字符 \W 查找非单词字符
\d 查找数字 \D 查找非数字
\s 查找空白字符 \S 查找非空白字符
\b 查找单词边界 \B 查找非单词边界
量词
+ 查找任何字符 至少得有一次
* 可有可无 没有或者多了都可以
? 可有可无 最多一次
{2} 必须出现2次
{2,}至少出现2次 或者2次以上
{2,3} 至少出现2次 最多出现3次不能超过3次
^ 从什么开始
$ 从什么结束
RegExp 对象方法
compile 编译正则表达式
var str = 'She is girl, This is a computer.';
reg=/(S)?he/g;
reg.compile(reg);
str = str.replace(patt,"person");
document.write(str);
exec 检索字符串中指定的值。返回找到的值,并确定位置
test 检索字符串中指定的值。返回true或者false
var str = "She is girl, This is a computer.";
var patt = new RegExp("a");
var result = patt.test(str);
document.write("Result: " + result);
//结果为true
支持正则表达式的String方法
search 检索与正则表达式相匹配的值
match 找到一个或者多个正则表达式的匹配
replace 替换与正则表达式匹配的字符
var reg = /\b[is]\b/g;
var str = 'She is girl, This is a computer.';
str = str.replace(reg, 'IS');
document.write(str);
// 结果 'She IS girl, This IS a computer.'
split 吧字符串分割为字符串数组