javascript - 需要简单的 javascript 正则表达式帮助

标签 javascript regex parsing bbcode

我有一个简单的正则表达式:

\[quote\](.*?)\[\/quote\]

这将用表格、tr 和 td 替换 [quote]。 (以及/td、/tr 和/table 的 [/quote])

它非常适用于同一字符串中的多个单独引号:

即:

[quote]
Person 1
[/quote]
Person 3 talking about a quote

[quote]
Person 2
[/quote]
Person 3 talking about another quote.

但是当它试图替换同一个字符串中的多个(非单独的)引号时:

即:

[quote]
[quote]
Person 1
[/quote]
Person 2 quoting person 1
[/quote]
Person 3 quoting person 2 and 1

它搞砸了,(将第一个引号与第一个/quote 匹配,而它应该将第二个引号与第一个/quote 匹配,第一个引号与最后一个/quote 匹配)

我将如何编辑正则表达式以使其在两个示例中都适用?

非常感谢,

詹姆斯

最佳答案

Regex 不是解析嵌套结构化文本的好选择。参见 this question用于 JavaScript BBCode 解析器

关于javascript - 需要简单的 javascript 正则表达式帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7528821/

相关文章:

r - 神经网络公式错误

javascript - 不使用 express 将图像上传到 node.js 中的服务器

java - 扫描仪使用分隔符问题

javascript - 我如何匹配除匹配值以外的所有内容?

c++ - 使用 Boost Qi 解析为结构的随机顺序

parsing - 具有通用数据类型的简单 haskell 程序中的错误

javascript - 使用 jquery 动态删除表行不起作用

javascript - jquery比较两个div,得到差异

javascript - 当存在 constructor() 时调用异步函数

javascript - 使用正则表达式键匹配 Javascript 循环遍历字符串获取键和值