You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用JavaScript正则提取第三个冒号与&之间的目标内容?

Extract substring between third colon and first ampersand in JavaScript using Regex

Got it, let's tackle this. You have a string like:

aaa:aaa:aaa:a1b1c1d1.zzz&bbbb&bbbbbb&bbbbbb

And you need to pull out a1b1c1d1.zzz—the part between the third colon and the first ampersand. Here's how to do it with regex in JavaScript:

Solution Code

const input = "aaa:aaa:aaa:a1b1c1d1.zzz&bbbb&bbbbbb&bbbbbb";
const regex = /^[^:]+:[^:]+:[^:]+:(.*?)&/;
const match = input.match(regex);

if (match) {
  const result = match[1];
  console.log(result); // Output: "a1b1c1d1.zzz"
}

Regex Pattern Breakdown

Let's break down /^[^:]+:[^:]+:[^:]+:(.*?)&/ to understand how it works:

  • ^: Anchors the match to the start of the string (prevents accidental matches of later colon groups)
  • [^:]+: Matches one or more characters that are not a colon (captures each segment before a colon)
  • :: Matches the colon itself
  • We repeat [^:]+: three times to skip the first three colon-separated segments (aaa:, aaa:, aaa:)
  • (.*?): A non-greedy capture group that grabs every character until the next & (the ? ensures we stop at the first ampersand, not the last one)
  • &: Matches the first ampersand to end our capture

Alternative (Non-Regex) Approach

If you prefer a more readable method for beginners, you can split the string and slice the relevant parts:

const input = "aaa:aaa:aaa:a1b1c1d1.zzz&bbbb&bbbbbb&bbbbbb";
const partAfterThirdColon = input.split(':')[3]; // Gets "a1b1c1d1.zzz&bbbb&bbbbbb&bbbbbb"
const result = partAfterThirdColon.split('&')[0]; // Gets "a1b1c1d1.zzz"
console.log(result);

Either method will get you the exact substring you need. The regex approach is concise if you're comfortable with patterns, while the split method avoids regex syntax entirely.

内容的提问来源于stack exchange,提问作者ler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:26:29