正则表达式匹配并替换为 JS 中包含的定界符
Regex match and replace with delimiters included in JS
如何匹配和替换一些模式,但在我的匹配中包含定界符?
我想在这两个分隔符 $
和 USD
周围添加一个 <strong>
HTML 标记。
由此
"Buy today for $ 100 USD"
对此
"Buy today for <strong>$ 100 USD</strong>"
价格可以是 100
、100.99
,甚至 1,000.99
。
我正在尝试这个,但它不起作用。
someString.replace(/($)(.*?)(USD)/, '<strong></strong>');
你也可以用function来return替换
someString.replace(/($[ ]?[\d\.\,]+[ ]?USD)/,
function(x){
return '<strong>' + x + '</strong>';
}
);
只需将定界符放在主捕获组内,而不是将它们分成三组。
var r = 'Buy today for $ 100 USD'.replace(/($.*?USD)/, '<strong></strong>')
console.log(r); //=> "Buy today for <strong>$ 100 USD</strong>"
如何匹配和替换一些模式,但在我的匹配中包含定界符?
我想在这两个分隔符 $
和 USD
周围添加一个 <strong>
HTML 标记。
由此
"Buy today for $ 100 USD"
对此
"Buy today for <strong>$ 100 USD</strong>"
价格可以是 100
、100.99
,甚至 1,000.99
。
我正在尝试这个,但它不起作用。
someString.replace(/($)(.*?)(USD)/, '<strong></strong>');
你也可以用function来return替换
someString.replace(/($[ ]?[\d\.\,]+[ ]?USD)/,
function(x){
return '<strong>' + x + '</strong>';
}
);
只需将定界符放在主捕获组内,而不是将它们分成三组。
var r = 'Buy today for $ 100 USD'.replace(/($.*?USD)/, '<strong></strong>')
console.log(r); //=> "Buy today for <strong>$ 100 USD</strong>"