如何构造一个javascript正则表达式来提取特殊字符串之后的所有字符串

How to construct a javascript regex to extract all string after a special string?

本文关键字:字符串 提取 之后 正则表达式 何构造 javascript 一个      更新时间:2023-09-26

我有这个字符串:

"AED 149: "Instant Redemption A 10AED""

我如何才能有一个正则表达式来获取此文本?

"Instant Redemption A 10AED"

目前我有这个

var regEx = new RegExp(currency + ' ' + '[''d,.]+: (.*)', "ig");

其中货币值现在为CCD_ 1。

但这对我来说是返回"AED 149: "Instant Redemption A 10AED""作为匹配

我可以修改我的正则表达式以只得到以下结果吗:"Instant Redemption A 10AED"

将我的评论转换为答案以更好地理解。

您的正则表达式很好,但不需要global标志。你只需要像这样使用捕获的组#1:

var currency = 'AED'    
var regEx = new RegExp(currency + ' ' + '[''d,.]+: (.*)', "i");    
var s = 'AED 149: "Instant Redemption A 10AED"'
var m = s.match(regEx);
console.log(m[1]);
//=> "Instant Redemption A 10AED"

如果您总是使用相同的格式,您可以在不使用regex的情况下获得它,只需使用split:

var my_string = 'AED 149: "Instant Redemption A 10AED"';
my_string.split(':')[1]; //Will return "Instant Redemption A 10AED"

希望这能有所帮助。

var str = "AED 149: "Instant Redemption A 10AED"";
str.replace(/[^':]+':[^'"]+'"([^'"]+)'"/, "$1");