Javascript正则表达式与Wikipedia节文本匹配

Javascript正则表达式与Wikipedia节文本匹配,javascript,regex,wikipedia,wikipedia-api,Javascript,Regex,Wikipedia,Wikipedia Api,鉴于维基百科文章的文本(见),我想摘录所有需要引用的章节。在Wikipedia标记中,需要引用的部分由{{{引文需要}}表示,部分标题由主要部分的两个等号(例如==section 1==)或子部分的三个等号(例如==section 1A===)表示 我的正则表达式: /(={2,3}[^==]+={2,3}[^==]+\{{2}Citation needed[^}}]*\}{2}[^==]*)(={2,3}[^==]+={2,3})?/g 我的正则表达式适用于许多部分,但不适用于其他部分,我不

鉴于维基百科文章的文本(见),我想摘录所有需要引用的章节。在Wikipedia标记中,需要引用的部分由
{{{引文需要}}
表示,部分标题由主要部分的两个等号(例如
==section 1==
)或子部分的三个等号(例如
==section 1A===
)表示

我的正则表达式:

/(={2,3}[^==]+={2,3}[^==]+\{{2}Citation needed[^}}]*\}{2}[^==]*)(={2,3}[^==]+={2,3})?/g
我的正则表达式适用于许多部分,但不适用于其他部分,我不明白为什么

是否匹配:

===法国首都==[[档案:爱丽舍宫,巴黎2005。jpg |拇指|右| |爱丽舍宫]],[[法国总统|法国总统]]的住所。巴黎是法国的所在地 法国国民政府。对于行政部门,两位首席执行官 每个官员都有自己的官邸,也作为 他们的办公室。[[法国总统]居住在[[爱丽舍宫] 宫殿]]位于[[巴黎第八区|第八区]], 而[[法国总理]的席位在 [Hôtel Matignon]] 区域]]。政府各部设在不同的地方 城市环境;许多位于第七区,靠近 马蒂尼翁

法国议会的两院也位于[[河]上 高切|左岸]]。上院[[法国参议院]], 在卢森堡第六区的[[卢森堡宫]]举行会议 巴黎|第六选区]],而更重要的下议院 [[Assembleée Nationale]],于[[7]在[[Palais Bourbon]]会面 巴黎地区|第七]]。法国总统名单 参议院|参议院议长]],第二高级公职人员 在法国共和国总统之后,居住在“佩蒂特” 卢森堡”,是[[杜宫]的一个较小的附属宫殿 卢森堡]].{需要引证|日期=2010年6月}

不匹配:

===社区间===上述变化很少考虑到巴黎作为[[集聚]]的存在。与大多数情况不同 法国的主要城市地区,如[[Lille]]和[[Lyon]],没有 [[法国公社#社区间|社区间]]法国的实体 巴黎市区,没有处理城市问题的社区间委员会 整个区域密集的城市核心区;巴黎的异化 如今,郊区确实是一个问题,许多人都在考虑这个问题 {{Who | date=2011年4月}}被认为是诸如 2005年的郊区骚乱。这些不幸事件的直接后果 事件是一个更有效的大都市结构的主张 覆盖巴黎市和一些郊区,包括 松散的“大都会会议”(conférence)的社会主义理念 métropolitaine“”)的右翼观点,即更完整的“大 巴黎(“大巴黎”)

这种语无伦次的主要原因之一是人们的恐惧 法国国家面临着如此巨大的集聚和渴望 利用它的财富。{{需要引证|日期=2011年4月}自 中世纪,特别是1649年以来的麻烦(拉弗隆德), 巴黎一直被认为是危险之源。专制主义者 路易十四国王把凡尔赛宫建成了一个新的政治中心 远离危险的城市人群。国家与国家之间的冲突 这座城市在1871年的革命(拉公社)中达到了高潮 在波尔多的法国议会决定巴黎不再是唯一的城市 当巴黎公社讨论宣布巴黎为首都时 独立于法国。从那时起,这项计划的基础之一 中央集权的法国政府一直在广泛分配巴黎的财富 同时剥夺凝聚并将其分成8个部分 各部门和1200个社区。(用于分析长期敌对状态) 对巴黎,见[http://www-ohp.univ-paris1.fr/]{{验证 资料来源|日期=2011年4月})。在法国22个大都市地区中,有19个 通常由巴黎资源提供补贴,而巴黎 郊区缺乏必要的设备

我的正则表达式怎么了

编辑:下面是新的工作正则表达式!
说明:匹配任何节或子节标题(==节==或===子节===),后跟任何不是两个等号的内容,然后是一个类似{引文所需}的字符串,后跟所有其他不是两个等号的内容。

问题出现的顺序如下:
{{Who | date=
。您用于匹配标题和{{引文所需}之间文本的代码在点击
=

时失败,不确定问题出在哪里,但
[^}]=[^}]
[^=]=[^=]
谢谢!我将尝试修复我的正则表达式,并在今晚晚些时候发布工作版本。
/(={2,3}((?!==).)+={2,3}((?!==)[^])+\{{2}Citation needed((?!}})[^])*\}{2}((?!==)[^])*)/g