gpt4 book ai didi

Javascript正则表达式匹配问题

转载 作者:行者123 更新时间:2023-11-28 02:56:53 24 4
gpt4 key购买 nike

我的句子结构类似于

[word1]{word2} is going to the [word3]{word4}

我正在尝试使用 JavaScript 正则表达式来匹配稍后替换的单词。为此,我正在努力获取以下多维数组:

[["word1", "word2"],["word3","word4"]]

我目前正在使用此正则表达式来完成这项工作:

\[(.*?)\]\{(.*?)\}

但是,它会得出如下结果:

["[word1]{word2}", "word1", "word2"]

或更糟。我不太明白为什么,因为这个正则表达式似乎在 Ruby 中工作得很好,而且我并不是一个真正了解正在发生的事情的正则表达式专家。我只是好奇是否有任何 javascript rege 专家的答案非常明确,并且可以指导我了解这里发生的事情。我感谢任何帮助!

编辑:

这是我用来测试匹配的代码:

function convertText(stringText) {
var regex = /\[(.*?)\]\{(.*?)\}/;
console.log(stringText.match(regex));
}

最佳答案

我假设您正在使用正则表达式的 exec 方法。

你所做的几乎是正确的。 exec 返回一个数组,其中第一个元素是整个匹配项,其余元素是组。您只需要索引 1 和 2 处的元素。尝试类似的操作,但当然将结果存储到数组中而不是使用警报:

var string = '[word1]{word2} is going to the [word3]{word4}';
var pattern = /\[(.*?)\]\{(.*?)\}/g;
var m;
while(m = pattern.exec(string)) {
alert(m[1] + ',' + m[2]);
}

这会显示两个警报:

  • 单词1,单词2
  • 单词3,单词4

关于Javascript正则表达式匹配问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2382712/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com