我有一根这样的绳子:“我去了罗马:昨晚,现在我在佛罗伦萨:”
我想用regex得到冒号之间的单词,不包括它们,所以我想要这个输出
罗马佛罗伦萨
此刻,我写了这个:(.*?):\g,但是它保留了冒号。
发布于 2015-03-11 22:55:05
正则表达式将查找一个单词(在word边界上),该单词将以冒号:
作为前缀和后缀。
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)
编辑的
由于JavaScript风格的RegExp不支持许多特性,我建议将regex替换为:
var input = "I went to :Rome: last night, now I'm in :Florence:";
var regex = /:([\w]+):/g
var replaced = input.replace(regex, "$1")
发布于 2015-03-11 21:50:32
您可以使用:
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"]
https://stackoverflow.com/questions/28997964
复制相似问题