只匹配某些标签之外的单词(正则表达式)
我正在编写我自己的BBCode解析器。 我非常新写正则表达式。
我试图做到这一点,以便我的正则表达式匹配所有标签,除非它们在code
或quote
标签内。 这是我的意思:
[b] This text will be bolded [/b]
[code][b] This text will NOT be bolded [/b][/code]
[quote][b] This text will NOT be bolded [/b][/quote]
问题是它匹配的文本,不应该被加粗...
这是我的正则表达式:
/((?![code]) [b](.*)[/b] (?!=/code]))/gi
你可以在这里找到一个工作示例:https://regex101.com/r/oI3mN8/2
所以我的问题是,我怎么才能让它抓住正确的东西?
PS我怎么能让它抓住每个块? 现在它抓住了第一个也是最后一个。 例:
[b] This text should be bolded [/b]
This text should not be bolded, but it still is.
[b] This text should be bolded again [/b]
出于某种原因,它只是抓住第一个和最后一个标签,为什么?
链接地址: http://www.djcxy.com/p/29885.html上一篇: Only Match Words That Are Outside of Certain Tags (Regex