答案 0 :(得分:4)
试试以下正则表达式:
(\*[^*]+\*)
在你的正则表达式中你有[.]
实际上搜索点,因为在[]
中它失去了它的特殊上下文并被视为普通字符。您最好使用.+
,但它也会匹配*
个字符。那么请使用我上面的解决方案。
答案 1 :(得分:1)
这将捕获
var text = "asdfasdf *hello*";
console.log( text.match(/([*][^*]+[*])/)[1]);
但这只能抓住第一场比赛;
如果你想要所有的比赛
var text = "asdfasdf *hello* asdffdsa *asdf*";
var matches = text.match(/([*][^*]+[*])/g);
if(matches.length > 1) {
for(var i=1; i<matches.length; i++) {
console.log(matches[i]);
}
}