首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >替换wiki标签

替换wiki标签
EN

Stack Overflow用户
提问于 2016-04-13 22:23:33
回答 1查看 38关注 0票数 1

我试图替换字符串:

代码语言:javascript
复制
[[Rock music|rock]], [[blues]], [[soul music|soul]], [[pop music|pop]],[[Have a Little Faith (Joe Cocker album)|Have a Little Faith]]

至:

代码语言:javascript
复制
rock, blues, soul, pop, Have a Little Faith

什么是正确的准则?

我测试了这个模式/\[[[\w\s]+\W(.*)\]],/,但没有起作用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-13 22:27:33

您可以使用

代码语言:javascript
复制
'~\[\[(?:[^][|]+\|)?([^][|]+)]]~'

代之以$1。见regex演示

解释

  • \[\[ -文字[[
  • (?:[^][|]+\|)? -可选(1或0) 1+字符,但不包括[]|,直到文字|
  • [^][|]+ -第1组:[]|以外的1+字符
  • ]] -文字]]

PHP演示:

代码语言:javascript
复制
$str = "[[Rock music|rock]], [[blues]], [[soul music|soul]], [[pop music|pop]], [[Have a Little Faith (Joe Cocker album)|Have a Little Faith]] "; 
$result = preg_replace('~\[\[(?:[^][|]+\|)?([^][|]+)]]~', "$1", $str);
echo $result;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36610633

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档