javascript - Javascript - 使用正则表达式就地处理所有匹配的组
问题描述
这是我的问题的一个例子:
对于这个字符串:“你好,我的名字是 {{Jaques}},我来自 {{France}}。”
我希望它输出:“你好,我的名字是 JAQUES,我来自法国。”
我以为我可以通过使用匹配并替换为正则表达式 {{(.*?)}} 来做到这一点,但是我很难让它给我组数据以便我可以进行替换。
任何帮助,将不胜感激。
解决方案
您可以将替换与回调函数一起使用,并将toUpperCase()用于捕获组。
{{
and将}}
被匹配而不返回。该组将返回组 1 的大写值。
let str = "Hello my name is {{Jaques}} and I am from {{France}}.";
let res = str.replace(/{{(.*?)}}/g, function(_, g1) {
return g1.toUpperCase();
});
console.log(res);
推荐阅读
- node.js - 如何将 OpenLayers 5 与 Node (express) 一起使用?
- python - Pycharm 看不到 Oracle 客户端,虽然添加了。Sqlalchemy, Python
- dialogflow-es - 取消帐户链接导致相同响应的无限循环
- java - @Before 和 @After 不能在 Eclipse 2018-12 JAVA 上使用 JUnit 5
- ocr - 具有自定义视觉和 OCR 文本检测的 Azure 检测
- matlab - 使用 boolean_T 的 Matlab 编码器
- r - 如何使用 case_when 从列表中删除元素
- typescript - 为什么声明和使用全局函数编译但不运行?
- javascript - 如何添加到 webpack 4 中的链接属性预加载(对于块或分钟)?
- eclipse - 如何配置 Maven(命令行)和 IDE 以在不同的文件夹中构建?