1

我在具有最新操作系统的 mac book air 上使用最新版本的 chrome 浏览器。我正在尝试在 javascript 中创建一个 BBcode 解析器。我可以轻松解析一行代码,例如 [b]a[/b] 但是当它是多行时,它找不到它。我做了一些研究,发现 javascript 的多行 (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/

任何帮助,将不胜感激。

谢谢

4

1 回答 1

2

这必须有效:

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

或更好:

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

因为您不必转义右方括号

于 2013-06-30T20:27:29.587 回答