求个正则怎么写?

字符串 : [url]/content/23[/url] /content/23

需求:
数据是从数据库取出的
只匹配[url]中的/content/23, 将其替换成 www.abc.com/content/23
如果[url]中是绝对路径,不进行处理,只处理相对路径的形式,如/content/23
[url] 标签外的 /content/23 不替换~~~
其中/content/23 是变量,值的形式如/comment/2, /thread/3
就是只想对[url]标签中的进行处理,外面的不处理

最后变成
[url]www.abc.com/content/23[/url] /content/23 这种形式

求这个程序怎么写~~

阅读 1.6k
2 个回答

\/content\/23(?=[^\[\]]*\[\/url\])
分割线
(\/\w+){2}(?=[^\[\]]*\[\/url\])替换成www.abc.com$0

这样?

'[url]/content/23[/url] /content/23'.replace(/(\[url\]).*?(\[\/url\])/g, '$1www.abc.com/content/23$2')
// '[url]www.abc.com/content/23[/url] /content/23'

'[url]/content/23[/url] /[/url]/content/23'.replace(/(\[url\]).*?(\[\/url\])/g, '$1www.abc.com/content/23$2')
// '[url]www.abc.com/content/23[/url] /[/url]/content/23'
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题