js正则表达式小括号与match函数问题

字符串:asdjhausihdafia#[user1age=1,name=ssss]asdjklasjdada想匹配出这样的字符串,正则表达式:/#\[(\S*[]*)*... 字符串:asdjhausihdafia#[user1 age = 1,name=ssss]asdjklasjdada
想匹配出这样的字符串,
正则表达式:/#\[(\S*[ ]*)*\]/i
使用字符串的match匹配提取结果却是一个数组内容为:#[user1 age = 1,name=ssss],1,name=ssss。
原因是由于(……)*引起的多次匹配,只是想知道为什么会造成这样的结果,解决方案我这是有的。
展开
 我来答
匿名用户
2014-09-20
展开全部
match就是这样匹配的,第一个匹配到的内容,然后匹配到的子表达式,然后第二个匹配到的子表达式。。。
更多追问追答
追问
第一次匹配#\[(\S*[ ]*)*\]

第二次匹配(\S*[ ]*)*?
但是加了个g参数就不会出现这个现象了,,不过会把所有的内容都匹配过来。。
追答
两个都是不同的表达式了,结果不一致很正常~
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式