正则表达式:仅当两个最接近的字符串之间存在特定字符串时才匹配

时间:2016-02-18 18:03:09

标签: regex

所以,我试图用正则表达式编辑字典文件。 我当前的正则表达式可以匹配两个最接近的字符串(以及它们之间的所有内容)。问题是我只需找到那些在它们之间有特定字符串的字符串。我试图结合消极的前瞻和积极的前瞻,但没有成功。

这是我目前的正则表达式:

<b>(?:(?!<\/?b>).)*?<\/b>(?:(?!<\/?b>).)*?<font color=darkslategray>.*?<\/font>

包含字典文件的一小部分的示例:https://regex101.com/r/yV1zC3/1

我需要捕获最接近的<b> </b><font color=darkslategray> </font>标记,但前提是它们之间有<VR> </VR>个标记。结果应该是:

<b>na·ive</b><br><div style="padding-left:0.5em;">(<VR><span style="color:#006400;font-style:italic">or</span>  <b>na·ïve</b></VR>) <font color=darkslategray>/nɑˈiːv, naıˈiːv/</font>
<b>na·ïve·té</b> (<VR><span style="color:#006400;font-style:italic">also</span>  <b>na·ive·te</b> <span style="color:#006400;font-style:italic">or</span>  <b>na·ive·té</b></VR>) <font color=darkslategray>/nɑˌiːvˈteı, naıˌiːvˈteı/</font>
<b>na·ive·ty</b> (<VR><span style="color:#006400;font-style:italic">also</span>  <b>na·ïve·ty</b></VR>) <font color=darkslategray>/nɑˈiːvəti, naıˈiːvəti/</font>

甚至可以使用正则表达式吗?

0 个答案:

没有答案