我有一个这样的字符串: "我去了:罗马:昨晚,现在我在:佛罗伦萨:"
我想用正则表达式来获取冒号之间的单词,排除它们,所以我想要这个输出
罗马佛罗伦萨
目前我写了这个:(。*?):\ g但它保留了冒号。
答案 0 :(得分:2)
正则表达式将查找一个单词(在单词边界上),该单词将以前缀为前缀并以冒号:
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")
答案 1 :(得分:1)
您可以使用:
var arr = [],
re = /:([^ :]+):/g,
input = "I went to :Rome: last night, now I'm in :Florence:";
while ( m=re.exec(input) )
arr.push(m[1]);
console.log(arr);
//=> ["Rome", "Florence"]