正则表达式匹配问题
正则为:{(cms:\w+)([\s](.*)+)?(}([^{]+)?{(/\1)}|/})当要匹配的内容为<metacontent="{cms:configFiled...
正则为:{(cms:\w+)([\s](.*)+)?(}([^{]+)?{(/\1)}|/})
当要匹配的内容为
<meta content="{cms:config Filed=Meta_Description/}" name="1234567">
正常匹配出
{cms:config Filed=Meta_Description/}
但是当内容<meta content="{cms:config Filed=Meta_Description/}" name="1234567">
多一位的情况下 就匹配不出来了
如<meta content="{cms:config Filed=Meta_Description/}" name="12345678">
通过JS 的话 匹配不出来
但是在C#里 能匹配出来 但是速度非常慢。如果少一位的话 在C#里就很快匹配出来了 展开
当要匹配的内容为
<meta content="{cms:config Filed=Meta_Description/}" name="1234567">
正常匹配出
{cms:config Filed=Meta_Description/}
但是当内容<meta content="{cms:config Filed=Meta_Description/}" name="1234567">
多一位的情况下 就匹配不出来了
如<meta content="{cms:config Filed=Meta_Description/}" name="12345678">
通过JS 的话 匹配不出来
但是在C#里 能匹配出来 但是速度非常慢。如果少一位的话 在C#里就很快匹配出来了 展开
2个回答
展开全部
写这么复杂,是有特殊的要求吗?
追问
只是取出{cms:xxx}xxx{/cms:xxx} {cms:xxx sss=xxx yyyy=ddd}xxx{/cms:xxx}
和{cms:sxxx sss=fff/} 这样
追答
试试这个吧,感觉写的很恶心:
var str = "{cms:xxx}xxx{/cms:xxx} {cms:xxx sss=xxx yyyy=ddd}xxx{/cms:xxx} 和{cms:sxxx sss=fff/}";
alert(str.match(/{(cms:[^ }]+)[^}]*}[^{]*({\/\1})*/g));
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询