正则表达式,JavaScript正则表达式

RegExp对象表示正则表达式,对字符串进行模式匹配,存储检索模式。
定义方法:
1.直接量法:var regexp = /pattern/attributes;
2.创建对象:new RegExp(pattern, attributes);
参数:pattern:字符串,表示正则表达式的模式或其他正则表达式,attributes:可选字符串, 包含属性 "g"、"i" 和 "m",分别用于指定全局匹配、忽略区分大小写的匹配和多行匹配
返回值:RegExp对象
attributes:
imageJavaScript正则表达式正则表达式
pattern:
1.方括号[]:用于查找某个范围内的字符,查找字符
imageimageJavaScript正则表达式正则表达式
2.元字符:拥有特殊含义的字符,查找匹配字符
imageimageimageJavaScript正则表达式正则表达式
注:单词字符是英文字母以及数字;非单词字符是标点符号,空格以及汉字。
3.量词:匹配含n的字符串,匹配字符串
imageimageimageimageJavaScript正则表达式正则表达式
注:n可以是元字符,普通字符或字符串。
4.空号():子表达式
(pattern):匹配pattern并捕获匹配结果到缓存,后面可以使用 $1...$9 引用前面存储在缓存中的匹配结果。
(?:pattern):匹配pattern但不捕获匹配结果
5.竖线|:取或
RegExp对象的属性:
imageimageimageimageimageJavaScript正则表达式正则表达式
注:属性global、ignoreCase、multiline的值为true or false。
属性lastIndex存放一个整数,它声明的是上一次匹配文本之后的第一个字符的位置,即下次检索的起始点。不具有标志 g 和不表示全局模式的 RegExp 对象不能使用 该属性。
RegExp对象的方法:
imageimageimageimageimageimageJavaScript正则表达式正则表达式
方法exec:检索字符串中的正则表达式的匹配
语法:RegExpObj.exec(str)
返回值:匹配到返回结果数组,若未匹配到则返回null
结果数组:此数组的第 0 个元素是与正则表达式相匹配的文本,第 1 个元素是与 RegExpObject 的第 1 个子表达式相匹配的文本(如果有的话),第 2 个元素是与 RegExpObject 的第 2 个子表达式相匹配的文本(如果有的话),以此类推。
操作的属性:(1)length属性:结果数组的长度(2)index属性:匹配文本的第一个字符的位置(3)input属性:被检索的字符串str
(4)若正则表达式是全局的,它会在 RegExpObject 的 lastIndex 属性指定的字符处开始检索字符串 string。当 exec() 找到了与表达式相匹配的文本时,在匹配后,它将把 RegExpObject 的 lastIndex 属性设置为匹配文本的最后一个字符的下一个位置。
可以通过反复调用 exec() 方法来遍历字符串中的所有匹配文本。当 exec() 再也找不到匹配的文本时,它将返回 null,并把 lastIndex 属性重置为 0。
例子:
< type="text/javascript">
var str = "Visit W3School, W3School is a place to study web technology.";
var patt = new RegExp("W3School( is)( a)","g");
var result;
while ((result = patt.exec(str)) != null) {
document.write(result);
document.write("
");
document.write(result[0]);
document.write("
");
document.write(result[1]);
document.write("
");
document.write(result[2]);
document.write("
");
document.write(patt.lastIndex);
document.write("
");
}

结果:
W3School is a, is, a---------result是数组,输出各下标对应的值,并用逗号隔开
W3School is a
is
a
29
方法test:检测一个字符串是否匹配某个模式
RegExpObject.test(str)
匹配返回true,否则返回false
Tags:  常用正则表达式 正则表达式数字 正则表达式语法 js正则表达式 正则表达式

延伸阅读

最新评论

发表评论