求助正则高手,解决个很简单的问题哦

gg358981849 2011-04-25 07:10:11
怎么用JS 提取一段字符串中所有被[]包围的字符,并组成数组?


要有好的容错性。


如胡乱的删减增加[ ]

[]间包含的字符不超过7个汉字
...全文
140 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
cocoanet 2011-04-27
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 gg358981849 的回复:]

引用 2 楼 cocoanet 的回复:

<script>
alert("afaf[阿发dddd发发]afadf[阿ddd萨德]sdflj[澳网f佛]ad".match(/(\[[^\]]{1,7}\])/gi));
</script>


可以以数组返回么? 怎么是字符串。

返回的就是数组:
[/Quote]

var a = "afaf[阿发dddd发发]afadf[阿ddd萨德]sdflj[澳网f佛]ad".match(/(\[[^\]]{1,7}\])/gi);
alert(Object.prototype.toString.apply(a));
oggmm 2011-04-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hongmei85 的回复:]
这样?
<textarea name="kk" id="kk" rows="10" cols="50">sdfsd[sdfsdfas]dfas]sfsfs[sdfsad]sdfs]fs]df[sdf][]sdf</textarea>
<script type="text/javascript">
<!--
var re = /\[([^\]]{0,7})\]/gi;
jj = re.……
[/Quote]

exec 不是只返回第一个匹配的么
sunni110sun 2011-04-25
  • 打赏
  • 举报
回复
如果lz想要数据返回,那么用reg.exec()解析之后,建一个空数组,利用push方法把解析后的字符串加到数组里。
gg358981849 2011-04-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 cocoanet 的回复:]

<script>
alert("afaf[阿发dddd发发]afadf[阿ddd萨德]sdflj[澳网f佛]ad".match(/(\[[^\]]{1,7}\])/gi));
</script>
[/Quote]

可以以数组返回么? 怎么是字符串。
cocoanet 2011-04-25
  • 打赏
  • 举报
回复
<script>
alert("afaf[阿发dddd发发]afadf[阿ddd萨德]sdflj[澳网f佛]ad".match(/(\[[^\]]{1,7}\])/gi));
</script>
hongmei85 2011-04-25
  • 打赏
  • 举报
回复
这样?
<textarea name="kk" id="kk" rows="10" cols="50">sdfsd[sdfsdfas]dfas]sfsfs[sdfsad]sdfs]fs]df[sdf][]sdf</textarea>
<script type="text/javascript">
<!--
var re = /\[([^\]]{0,7})\]/gi;
jj = re.exec(document.getElementById("kk").value);

while (jj!=null) {
alert(RegExp.lastMatch);
jj = re.exec(document.getElementById("kk").value);
}
//-->
</script>

87,992

社区成员

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

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