JavaScript RegExp对象

来源:互联网 发布:国外怎么在淘宝买东西 编辑:程序博客网 时间:2024/06/08 15:17
JavaScript RegExp 对象用来创建正则表达式,它是对字符串进行模式匹配的强大工具。

RegExp 是正则表达式(Regular Expression)的缩写。

创建 RegExp 对象

在 JavaScript 中,使用正则表达式首先要创建正则表达式对象,即 RegExp 对象。

创建 RegExp 对象的语法:
    new RegExp(pattern, attributes)
参数说明:
参数说明pattern必需参数。一个字符串,指定了正则表达式的模式。attributes可选参数。匹配修饰符,可以是"g"、"i" 或 "m",也可以是它们的组合。
g:执行全局匹配(查找所有匹配而非在找到第一个匹配后停止);
i:执行对大小写不敏感的匹配;
m:执行多行匹配。
例如,检测一个字符串中是否包含字母 “abc”:
?
1
varpattern=newRegExp("abc");
检测一个字符串是否是以字母“abc”开头:
?
1
varpattern=newRegExp("^abc");
检测一个字符串是否是“abc”:
?
1
varpattern=newRegExp("^abc$");

正则表达式字面量

JavaScript 支持正则表达式字面量,这使得正则表达式的使用更加灵活。

正则表达式字面量语法:
    /pattern/attributes
参数说明同上。

例如,检测一个字符串中是否包含字母 “abc”:
?
1
varpattern=/abc/ ;
检测一个字符串是否是以字母“abc”开头:
?
1
varpattern=/^abc/ ;
检测一个字符串是否是“abc”:
?
1
varpattern=/^abc$/ ;

匹配修饰符

g 修饰符用于执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。所有主流浏览器都支持 g 修饰符。

例如,对字符串中的 "is" 进行全局匹配:
?
1
2
varstr="Is this all there is?";
varpatt1=/is/g;
下面被标记的文本显示了字符串被匹配的位置:
    Is this all there is?

i 修饰符用于执行对大小写不敏感的匹配。所有主流浏览器都支持 i 修饰符。

例如,对字符串中的 "itxueyuan" 进行不分大小写的匹配:
?
1
2
varstr="Visit ItXueyuan";
varpatt1=/itxueyuan/i;
下面被标记的文本显示了字符串被匹配的位置:
Visit ItXueyuan

例如,对字符串中的"itxueyuan"进行不区分大小写的全局匹配:
?
1
2
varstr=" Itxueyuan is a website with various tutorials. Welcome to itxueyuan ! ";
varpatt1=/itxueyuan/ig ;
下面被标记的文本显示了字符串被匹配的位置:
Itxueyuan is a website with various tutorials. Welcome to itxueyuan !

m 修饰符用于执行多行匹配。ECMAScript 标准化之前,不支持 m 属性。如果 pattern 是正则表达式,而不是字符串,则必须省略该参数。
0 0