请教正则表达式取值的方法

yuekai 2008-05-28 05:36:22
有一段文本:
<table>
<br>
<tr><td onclick="openC('asdf1');" valign="top"></td></tr>
<tr><td onclick="openC('asdf2');" valign="top"></td></tr>
<tr><td onclick="openC('asdf3');" valign="top"></td></tr>
<tr><td onclick="openC('asdf4');" valign="top"></td></tr>
</table>
是否可以用正则表达式从这段文本里一次取出全部的openC()函数的参数,即得到一个数组
[asdf1]
[asdf2]
[asdf3]
[asdf4]

多谢。
...全文
122 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
mingxuan3000 2008-05-29
  • 打赏
  • 举报
回复

<script language="javascript">

var cc='<div class="styTitle">Tom </div>Tom li<br>CORPORATE VP, AAA <br>'
//alert(cc.replace(/<[^>]*?>/g,"mm"))
//alert(cc.replace(/<[^>]*?>/g,"mm").replace(/((^mm)|(mm$))/,""))
alert(cc.replace(/<[^>]*?>/g,"^^").replace(/(^\^\^|\^\^$)/,"").split("^^"))

</script>


在改改,去掉结尾的^^得时候有问题
yuekai 2008-05-29
  • 打赏
  • 举报
回复
这个正则表达式我怎么写也不正确,
还要请教一个
<div class="styTitle">Tom</div>
Tom li
<br>CORPORATE VP, AAA<br>

能一次从这段HTML里面取出下面的数组么:
arr[0]=Tom; arr[1]=Tom li; arr[2]=CORPORATE VP, AAA

有结果马上揭帖
yuekai 2008-05-29
  • 打赏
  • 举报
回复
多谢楼上各位
Go 旅城通票 2008-05-28
  • 打赏
  • 举报
回复
在4楼基础上改的
var a='<table><br><tr> <td onclick="openC(\'asdf1\');" valign="top"> </td> </tr><tr> <td onclick="openC(\'asdf2\');"'
+' valign="top"> </td> </tr><tr> <td onclick="openC(\'asdf3\');" valign="top"> </td>'
+' </tr><tr> <td onclick="openC(\'asdf4\');" valign="top"> </td> </tr></table> '
var Arr=new Array();
a.replace(/openc\('([^']+)'\)/gi,function(){Arr.push(arguments[1]);})
alert(Arr)
财富实验室 2008-05-28
  • 打赏
  • 举报
回复
正则表达式要学会玩点...
  • 打赏
  • 举报
回复
完全可以
而且不复杂!
简单的就可以搞定
mingxuan3000 2008-05-28
  • 打赏
  • 举报
回复

<script language="javascript">
var a='<table><br><tr> <td onclick="openC(\'asdf1\');" valign="top"> </td> </tr><tr> <td onclick="openC(\'asdf2\');" valign="top"> </td> </tr><tr> <td onclick="openC(\'asdf3\');" valign="top"> </td> </tr><tr> <td onclick="openC(\'asdf4\');" valign="top"> </td> </tr></table> '
var b=a.match(/openC\(\'(.*?)\'\)/g).join(",").replace(/openC\(\'/g,"").replace(/\'\)/g,"").split(",")
alert(b)

</script>
btbtd 2008-05-28
  • 打赏
  • 举报
回复

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>shawl.qiu template</title>
<style type="text/css">
/* <![CDATA[ */

/* ]]> */
</style>
</head>
<body>

<style type="text/css">
/* <![CDATA[ */

/* ]]> */
</style>

<script type="text/javascript">
/*<![CDATA[*/
var Str = [
"<table>\n"
,"<br>\n"
,"<tr> <td onclick=\"openC('asdf1');\" valign=\"top\"> </td> </tr>\n"
,"<tr> <td onclick=\"openC('asdf2');\" valign=\"top\"> </td> </tr>\n"
,"<tr> <td onclick=\"openC('asdf3');\" valign=\"top\"> </td> </tr>\n"
,"<tr> <td onclick=\"openC('asdf4');\" valign=\"top\"> </td> </tr>\n"
,"</table> \n"
].join('');

var Result = [];


Str.replace(/openC\('([^']*)?'\)/g, function($0, $1){ Result.push($1); });

alert(Result)
/*]]>*/
</script>
</body>
</html>

mingxuan3000 2008-05-28
  • 打赏
  • 举报
回复

<script language="javascript">
var a='<table><br><tr> <td onclick="openC(\'asdf1\');" valign="top"> </td> </tr><tr> <td onclick="openC(\'asdf2\');" valign="top"> </td> </tr><tr> <td onclick="openC(\'asdf3\');" valign="top"> </td> </tr><tr> <td onclick="openC(\'asdf4\');" valign="top"> </td> </tr></table> '
var b=a.match(/openC\(\'(.*?)\'\)/g)
var c=[]
//alert(b.length)
for(var i=0;i<b.length;i++){
//alert(b[i])
c[i]=b[i].replace(/openC\(\'(.*?)\'\)/,"$1")
}
alert(c)
</script>
loveyunwt 2008-05-28
  • 打赏
  • 举报
回复
学习,应该可以吧
joegu 2008-05-28
  • 打赏
  • 举报
回复
学习,应该可以吧

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧