我有
的句子结构[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));
}
答案 0 :(得分:1)
我假设您正在使用正则表达式的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 :(得分:0)
你所看到的是日本的平假名。确保你的输入是英文的吗?
编辑说:经过进一步审查,它看起来像日语中的字典条目。私有是汉字,わたし是平假名,汉语的发音。 FWIW,这个词是“Watashi”,是日语中“I”(自己)的一个词。