【问题标题】:regular-expression for mediawiki replace ==mediawiki 替换的正则表达式 ==
【发布时间】:2013-09-11 10:37:08
【问题描述】:

我正在使用 mediawiki,我有文字
<div class="list-block"> == 2014 and beyond == <div id="list">My best day </div></div> 我正在使用正则表达式:

%<div class="list-block"[^>]*>\n?<h2>(.+)</h2>\n?(<div id="list">)?(.*)(</div>)?\n?</div>\n</div>%sU

它不工作。 它原本有 &lt;div class="list-block"&gt;''' 2014 and beyond'''&lt;div id="list"&gt;My best day &lt;/div&gt;&lt;/div&gt;%&lt;div class="list-block"[^&gt;]*&gt;\n?&lt;b&gt;(.+)&lt;/b&gt;\n?(&lt;div id="list"&gt;)?(.*)(&lt;/div&gt;)?\n?&lt;/div&gt;\n&lt;/div&gt;%sU 效果很好。我用&lt;h2&gt; 切换了&lt;b&gt;,现在它不工作了。 知道我做错了什么吗? (我不介意完全删除 &lt;h2&gt; 标签,但这也不起作用)。

【问题讨论】:

  • 在应用正则表达式之前,您是否将 wikitext 解析为 HTML?
  • “知道我做错了什么吗?” You're trying to parse HTML using regular expressions.
  • 我知道您不应该在正则表达式中包含 HTML,但为什么它适用于 而不适用于

    ?如何格式化它以便我省略 HTML?写这个的正确方法是什么?

标签: regex mediawiki


【解决方案1】:
    '%<div class="list-block"[^>]*>\n?<h2>(.+)</h2>\n?(<div id="list">)?(.*)(</div>)?\n?</div>\n</div>%sU'`

现在正在工作,我不确定是什么问题,可能是 mediawiki 格式问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-24
    • 2015-01-24
    • 1970-01-01
    • 1970-01-01
    • 2016-10-20
    • 1970-01-01
    相关资源
    最近更新 更多