正则匹配两个方括号之间的内容,包括方括号本身要匹配字符串[baidu] ..... [/baidu

比如我要匹配下面字符[baidu].....[/baidu]的所有内容(包括两个方括号),正则应该怎么写?... 比如我要匹配下面字符
[baidu] ..... [/baidu]
的所有内容(包括两个方括号),正则应该怎么写?
展开
 我来答
紫薇参星
科技发烧友

推荐于2019-09-04 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:5983
采纳率:92%
帮助的人:3517万
展开全部
要匹配字符串[baidu] ..... [/baidu]的所有内容(包括两个方括号),
应该用正则表达式:/\[baidu\][\s\S]*?\[\/baidu\]/i
取第0捕获组的数据,就是字符串[baidu] ..... [/baidu]的所有内容

你的正则表达式/\[baidu\]([\s\S]*)\[\/baidu\]/Ui如果有两个[/baidu],它就会匹配最长的字符串(贪婪匹配),比如字符串:[baidu] ..... [/baidu][baidu] ..... [/baidu]
它一次会匹配全部字符串(贪婪匹配),而不是匹配第一和第二个[baidu] ..... [/baidu](非贪婪匹配)
另外,/\[baidu\]([\s\S]*)\[\/baidu\]/Ui加小括号会捕获[baidu] ..... [/baidu]中间的 .....
而你要匹配所有内容(包括两个方括号),所以应该去掉小括号,取第0捕获组的数据。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式