我有一个像这样的字符串:
“我去了:罗马:昨晚,现在我在:佛罗伦萨:”

我想用正则表达式得到冒号之间的单词,不包括它们,所以我想要此输出
罗马佛罗伦萨
目前,我写了这个:(。*?):\ g,但它使冒号保持在其中。

最佳答案

正则表达式将查找一个单词(在单词边界上),该单词将以冒号:为前缀和后缀



var input = "I went to :Rome: last night, now I'm in :Florence:";
var regex = /(?:\:)\b(\w*)\b(?=\:)/g
var arr = []
while (m = regex.exec(input)) arr.push(m[1]);
alert(arr)





已编辑

由于RegExp的JavaScript版本不支持许多功能,因此我建议将正则表达式替换为以下内容:

var input = "I went to :Rome: last night, now I'm in :Florence:";
var regex = /:([\w]+):/g
var replaced = input.replace(regex, "$1")

关于javascript - 在冒号(不包括冒号)之间匹配正则表达式单词,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28997964/

10-11 23:55
查看更多