【发布时间】:2021-10-19 06:53:05
【问题描述】:
我正在寻找一个正则表达式,它可以匹配和提取 [squarebrackets] 内的内容,但不能匹配和提取 [[wiki-links]] 内的内容。所以对于上面的例子,我将只提取squarebrackets 部分,而不是[squarebrackets]、[wiki-links] 或wiki-links。
目前,我发现了两个正则表达式:
- 仅提取 [[wiki-links]] 内的内容(而不是 [方括号]):
/[^[\]]+(?=]])/g
- 提取 [[wiki-links]] 和 [方括号] 中的内容:
\[[^\[\]]+\]/g
第二个接近我想要的,但它仍然包含方括号本身并捕获我不想要的 [[wiki-links]] 内容。
我怎样才能通过修改正则表达式来排除这些,这样我就只能得到单个方括号内的内容,而没有括号本身?
谢谢!
【问题讨论】:
-
可能是
(?<!\[)\[([^\[\]]+)\](?!\])?见regex101.com/r/mkhCX7/2 -
@WiktorStribiżew 这非常接近,但我们也可以从结果中排除
[和]吗? :) -
但您只需捕获
[和]之间的部分,它们就会被排除在外。 -
是的@WiktorStribiżew 在线程中回复
标签: javascript node.js regex regex-negation