JS .replace用正则表达式

我有这样JS .replace正则表达式

右(99.99руб)OR 有剩余空间(руб99.99)OR 权与空间(99.99руб。)OR 左(руб文本。 99.99)

我想用我的新符号查找和更改货币符号。

这里是我的例子

var str = "Right (99.99руб.)", 

symbol = '&&';

console.log(str.replace(/\(\d+\.?\d+\s?(.+)\)|\(([^0-9^\s]+)\s?\d+\.\d+\)/g, symbol))

代码,但它取代了一切,我有正则表达式查找的文本(“(99.99руб。)”),而不是捕获组文字(“руб。”) 。

如何替换只匹配的文本?提前

P.S感谢 P.S.S对不起,我的英语

回答:

你可以使用:

руб\.\ ?(\d[\d.]+)|(\d[\d.]*)\ ?руб 

而且随着$1$2&&替换它,看到a demo on regex101.com。


JavaScript

var string = 'Right (99.99руб.) OR Left with space (руб. 99.99) OR Right with space (99.99 руб.) OR Left (руб.99.99)'; 

var re = /руб\.\ ?(\d[\d.]+)|(\d[\d.]*)\ ?руб/g;

string = string.replace(re, '$1$2&&');

alert(string);

参见jsfiddle.net一个JS小提琴。

以上是 JS .replace用正则表达式 的全部内容, 来源链接: utcz.com/qa/262573.html

回到顶部