获取里面四个支架(正则表达式)字符串

问题描述:

我怎么能写这样的事:获取里面四个支架(正则表达式)字符串

var s = "[hello world](one two)"; 
var x = s.replace(REGEX, '<p>$1</p><b>$2</b>'); 

输出:

<p>hello world</p><b>one two</b> 
+2

'/\[(.*?)\]\((.*?)\)/'??? –

+0

它的工作! +1 –

使用下面的正则表达式与negated character class

var s = "[hello world](one two)"; 
 
var x = s.replace(/\[([^\]]*)]\(([^)]*)\)/, '<p>$1</p><b>$2</b>'); 
 

 
console.log(x);

Regex explanation here.

+0

这比我的答案安全得多。如果你使用反转字符类,恕我直言,没有理由不允许空字符串。我会用*替换+。 – till

+0

@提示:谢谢,我只是更新了:) –

console.log("[hello world](one two)".replace(/\[(.*)\]\((.*)\)/, '<p>$1</p><b>$2</b>'));

使用捕获基团与regex.exec(字符串)和该(()[。] |(()))+(或enything那类似于此)并构建普罗维特字符串