zl程序教程

您现在的位置是:首页 >  后端

当前栏目

JS正则表达式获取分组内容的方法详解

JS方法正则表达式 详解 获取 内容 分组
2023-06-13 09:15:12 时间

支持多次匹配的方式:

复制代码代码如下:


vartestStr="nowtest001test002";  
varre=/test(\d+)/ig;   
varr="";  
while(r=re.exec(testStr)){  
   alert(r[0]+" "+r[1]);  

此外也可以用testStr.match(re),但是这样的话就不能有g的选项,而且只能得到第一个匹配。

另外备忘一下:

正则表达式对象的属性及方法:
  预定义的正则表达式拥有有以下静态属性:input,multiline,lastMatch,lastParen,leftContext,

rightContext和$1到$9。其中input和multiline可以预设置。其他属性的值在执行过exec或test方法后被根据

不同条件赋以不同的值。许多属性同时拥有长和短(perl风格)的两个名字,并且,这两个名字指向同一个值。(JavaScript模拟perl的正则表达式)

正则表达式对象的属性:
属性含义
$1...$9如果它(们)存在,是匹配到的子串 
$_参见input 
$*参见multiline 
$&参见lastMatch 
$+参见lastParen 
$`参见leftContext 
$""         参见rightContext 
constructor    创建一个对象的一个特殊的函数原型 
global       是否在整个串中匹配(bool型) 
ignoreCase    匹配时是否忽略大小写(bool型) 
input       被匹配的串 
lastIndex     最后一次匹配的索引 
lastParen     最后一个括号括起来的子串 
leftContext    最近一次匹配以左的子串 
multiline     是否进行多行匹配(bool型) 
prototype     允许附加属性给对象 
rightContext   最近一次匹配以右的子串 
source       正则表达式模式 
lastIndex     最后一次匹配的索引

正则表达式对象的方法:
方法含义
compile      这个应该是指重新定义正则表达式的内容
exec      执行查找,可以利用while的方式多次查找
test       进行匹配 
toSource     返回特定对象的定义(literalrepresenting),其值可用来创建一个新的对象。重载Object.toSource方法得到的。 
toString     返回特定对象的串。重载Object.toString方法得到的。 
valueOf      返回特定对象的原始值。重载Object.valueOf方法得到

例子:

复制代码代码如下:

<scriptlanguage="JavaScript">
varmyReg=/(w+)s(w+)/;
varstr ="JohnSmith";
varnewstr=str.replace(myReg,"$2,$1");
document.write(newstr);
</script>

将输出"Smith,John"