RegEx JS-如何在字符串之后和之前/或结尾处获取所有内容[重复]
Posted
技术标签:
【中文标题】RegEx JS-如何在字符串之后和之前/或结尾处获取所有内容[重复]【英文标题】:RegEx JS - how to get everything after : and defore / or end of a string [duplicate] 【发布时间】:2020-05-15 00:31:32 【问题描述】:我有一个如下所示的字符串:
/part/:aaaa/:bbbb/some/:cccc
我需要从此字符串中获取:aaaa
、bbbb
、cccc
。我该怎么做?现在我可以得到aaaa
和bbbb
,因为它在:
和/
之间。但是我怎样才能得到cccc
?
要获得 aaaa 和 bbbb,我使用 str.match(/:(.*)\//)
。
【问题讨论】:
在循环中使用/:([^\/]+)/g
和 rx.exec(str)
来获取第 1 组的内容。或str.matchAll(/:([^\/]+)/g)
不需要正则表达式,使用s.split('/').filter(x => x[0]==":").map(z => z.substring(1))
@WiktorStribiżew 你的建议看起来并不比正则表达式解决方案恕我直言。
【参考方案1】:
我们可以尝试对模式:([^\/]+)
进行正则表达式迭代,这将匹配任何冒号项,仅捕获您想要的部分。
var re = /:([^\/]+)/g;
var input = '/part/:aaaa/:bbbb/some/:cccc';
var m;
do
m = re.exec(input);
if (m)
console.log(m[1]);
while (m);
【讨论】:
谢谢!有用!将在 9 分钟内接受答复。以上是关于RegEx JS-如何在字符串之后和之前/或结尾处获取所有内容[重复]的主要内容,如果未能解决你的问题,请参考以下文章