我在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');
因为您不必逃避右方括号