我在Macbook Air上使用最新版本的Chrome浏览器使用最新版本。我正在尝试在javascript中创建BBcode解析器。我可以轻松地解析一行代码,例如[b] a [/ b],但是当它是多行时,它找不到。我进行了一些研究,发现javascript在multiline(m)标记方面存在一些问题。我尝试了一些替代解决方案,但似乎都没有用。这是我的一些尝试:

var reg = new RegExp('\\[b\](.+)\\[\/b\]','igm');
var reg = new RegExp('\\[b\]([\s\S]+)\\[\/b\]','ig');
var reg = new RegExp('\\[b\]([^]+)\\[\/b\]','ig');
var reg = new RegExp('\\[b\]([\n|\r|.]+)\\[\/b\]','ig');


http://jsfiddle.net/zw6wF/1/

任何帮助,将不胜感激。

谢谢

最佳答案

这必须工作:

 var reg = new RegExp('\\[b\\]([\\s\\S]+?)\\[/b\\]', 'ig');


或更好:

var reg = new RegExp('\\[b]([\\s\\S]+?)\\[/b]', 'ig');


因为您不必逃避右方括号

09-20 21:36