5

ドキュメントを解析していて、php の preg_split() を使用して分割したいと考えています。

このドキュメントは、次の見出しを持つセクションに編成されています。

==Section Title==

問題は、各セクションに次の見出しを持つサブセクションがあることです。

===Subsection Title===

質問: 正規表現を使用してドキュメントを解析し、2 つの等号の間にあるが 3 つの等号の間にないものを解析する方法はありますか?

ありがとう!

PS私は正規表現を学ぼうとしていますが、それでもかなり混乱しています!

4

3 に答える 3

6

これがうまくいくはずです:

(?<!=)==(?!=)(.*)(?<!=)==(?!=)

使い方:

パターン(?<!=)==(?!=)は 2 回 (最初と最後) 表示されます。(?<!=)(negative lookbehind ) および(?!=)(negative lookahead )を使用して、前または後に別の等号がない 2 つの等号に一致します。この目的は、 などのより大きなグループの一部である 2 つの等号を誤って一致させないようにすることです===

中央の(.*)は、 の 2 つのペアの間に存在するテキストと一致します==

于 2012-09-29T23:58:21.547 に答える
3

これらの見出しだけを心配しているのか、WikiCreole のすべてを解析しているのかはわかりませんが、PHP で WikiCreole を解析するためのライブラリを利用できます。

http://wiki.wikicreole.org/Libraries

于 2012-09-29T23:58:41.657 に答える
1

行の開始/終了に空白がないと仮定します。

^==[^=]+==$
于 2012-09-30T00:01:48.860 に答える