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