私の要件は私の非常に基本的な正規表現の知識を大きく超えています。私は何も試すことができませんでした。あなたは$パターンのために私を助けてもらえますか?私が必要と何すべてのプレーンテキスト部分を囲むのに正規表現パターンが必要<p>と</p>タグ
は次のとおりです。テキスト部分(下の部分1S)<p>
& </p>
タグ
私の文字列の&性質があり、現在の状態で囲む必要があります。
- マイstringはユーザー入力です。
- 各改行(\ n)は
<br>
タグに変換されます。 2以上<br>
タグ は<br><br>
に置き換えられます。
文字列は3つの部分を持つことができます。 以下の部品の順序は任意で、任意の数にすることができます。
part 1 part 2 part 3
|------------| |-------------| |--------|
| plain text | | <ul>..</ul> | | $$..$$ |
|------------| |-------------| |--------|
- 開始時に、文字列の最後にはありません
<br>
タグ。 (。<br>
マスクで をトリミング) - パート2(
<ul>
...</ul>
部分)が自身の 前と後<br>
タグを持っていません。決してない。 - パート3(
$$
..$$
パート)は、 の前後に<br>
タグを持っていません。決してない。 - プレーンテキスト部分の間に正確に2個の
<br>
タグがあります。 (SO<br><br>
のみプレーンテキスト部分との間に存在することができる。) - プレーンテキストの一部が、またはこれらのインライン スタイリングを有していてもいなくてもよい。
<b></b>
、<i></i>
と$..$
を。
だから私は私が論理的に必要とする[0]パート2またはパート3と一致させることができていない$マッチした文字列にマッチだと思います。言い換えれば、$ matches [0]はパート2またはパート3を持つことはできません。
ありがとうございます。
無関係な注:$$と$使用はmathjaxのために存在します。
「文字列に正規表現を適用する」:あなたは
<p></p>
タグが、この場合に、つかんするかどうか。正規表現は、文字列を含むあらゆる問題であなたが揺らす魔法の杖ではありません。 –サンプル入力、これまでに試したこと、望む結果が何であるべきか、それまでに得られた結果とはどのように異なるのか?また、インライン・スタイリングがある場合は、パート1を「プレーン・テキスト」と呼び出すことはできません。 – apokryfos
[HTML/XMLをどのように解析して処理するのですか?](https://stackoverflow.com/)の重複が考えられます。質問/ 3577641/how-do-you-parse-and-process-html-xml-in-php) – Calimero