一:正则表达式的创建方式
1.文字格式,使用方法如下:
/pattern/flags(即:/模式/标记)
2.RegExp构造函数,使用方法如下:
new RegExp("pattern"[,"flags"])(即:new RegExp("模式"[,"标记"]))
参数:
pattern(模式):表示正则表达式的文本
flags(标记):如果指定此项,flags可以是下面之一:
g:global match(全定匹配)
i:ignore case(忽略大小写)
gi:both global match and ignore case(匹配所有可能的值,也忽略大小写)
注意:文字格式中的参数不要使用引号标记,二够造器函数的参数则要使用引号标记。所以下面的表达式
是等价的:
/ab+c/i ==================== new RegExp("ab+c","i")
描述:
当使用构造器函数创建正则表达式的时候,必须使用正常的字符串避开规则(在字符串中加入前导字符/)是必须的。
例如,下面的两条语句是等价的:
re=new RegExp("//w+");
re=//w+/
注意:RegExp预置了$属性
$1, ..., $9属性
用圆括号括着的匹配子串,如果有的话。
是RegExp的属性
静态,只读
在JavaScript 1.2, NES 3.0以上版本提供
描述:因为input是静态属性,不是个别正则表达式对象的属性。你可以使用RegExp.input 访问该
属性。
能加上圆括号的子串的数量不受限制,但正则表达式对象只能保留最后9 条。如果你要访问所有的
圆括号内的匹配字串,你可以使用返回的数组。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> New Document </TITLE> <SCRIPT LANGUAGE="JavaScript1.2"> var regexp = new RegExp("(//w+)//s(//w+)"); str = "John Smith"; newstr=str.replace(regexp,"$2"); newstr2=str.replace(regexp,"$1"); document.write("原字符串:"+str+"<br/>"); document.write(newstr+"<br/>"); document.write(newstr2+"<br/>"); document.write('$1='+RegExp.$1+" $2="+RegExp.$2); </SCRIPT> </HEAD> <BODY> </BODY> </HTML>
二: match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。它返回指定的值,而不是字符串的位置。
语法
stringObject.match(searchvalue)
stringObject.match(regexp)参数 描述
searchvalue 必需。规定要检索的字符串值。
regexp 必需。规定要匹配的模式的 RegExp 对象。如果该参数不是 RegExp 对象,则需要首先把它传递给 RegExp 构造函数,将其转换为 RegExp 对象。
新闻热点
疑难解答
图片精选