<script language="javascript">
var xx="如果我们相信(quote) 引用张三的话 (/quote) 所说的,那么,我们也要相信 (quote) 李四的话 (/quote)的话吗?";
//建立正则表达式的匹配模式、匹配。()的作用就是用来获取匹配,以备后用。 //第 1 对()匹配 (quote) ,由于(、)是特殊字符,要匹配它们需要用转义。 //第 2 对()匹配 (quote)(/quote) 中间的内容。. 表示所有字符,[^(] 用来踢除 (,否则如果有多个匹配,只能获取一个。 //第 3 对()匹配 (/quote) //g 就是用来搜索用的匹配。否则只能得到第1个匹配。 var p=/((quote))(.[^(]*)((/quote))/g; i=1; while(a=p.exec(xx)){ document.write("第"+i+"个所有的匹配:"+a[0]+"。<BR>"); //数组的第1项存放的是所有()里的匹配,本例是3对()匹配的结果 document.write(" 第1个子匹配:"+a[1]+"<BR>");//获取第 1 对 () 里的匹配。 document.write(" 第2个子匹配:"+a[2]+"<BR>");//同上。 document.write(" 第3个子匹配:"+a[3]+"<BR><BR><BR>");//如果还有第4、5对(),就可以用a[4]、a[5] i++; } </script>
这是VBS中的例子,就不再介绍乐。 <script language="vbscript"> dim xx xx="如果我们相信(quote) 引用张三的话 (/quote) 所说的,那么,我们也要相信 (quote) 李四的话 (/quote)的话吗?" set p=new regexp '建立正则表达式 p.pattern="((quote))(.[^(]*)((/quote))" '建立匹配的模式 p.global=true '全局搜索
set a = p.execute(xx) i=1 for each val in a document.write("第"+cstr(i)+"个所有的匹配:"+val+"<BR>") document.write(" 第1个子匹配:"+val.SubMatches(0)+"<BR>") document.write(" 第2个子匹配:"+val.SubMatches(1)+"<BR>") document.write(" 第3个子匹配:"+val.SubMatches(2)+"<BR><BR><BR>") i=i+1 next </script>
阅读本文你需要熟悉 正则表达式 相应的用法 |