投稿で言ったように、私は単なる正規表現のパダワンです。
すべてこのスレッドで開始:Stackoverflow:preタグ内からbrを削除
質問は見つけることでした:中の
<br />
タグ<pre></pre>
私はこのパターンを作りました: .*?<pre>.*\s?((<br\s*?\/?>\s?).*?){1,}<\/pre>
私はその質問に答えました。
サブ質問が来て以来、すべてが順調でした:
サブ質問:タグ<br />
内の<pre>
何かを見つける方法は?
私はそれを次のように翻訳しました:条件付きの単語の複数のインスタンスを見つける方法
私の正規表現の説明:
.*?
-貪欲でない数量詞:任意の数の任意の文字 <pre>
-タグが続きます.*\s?
-任意の数の任意の文字+可能な空白文字(<br\s*?\/?>\s?)
-検索するタグ+可能な空白文字を続けます((<br \/>\s?).*?){1,}
(一致<br />
+可能な空白文字+任意の数の任意の文字)1回または無制限の回数にする必要があります。また、{1、}を*に置き換えようとしましたか?({1、}は貪欲に見えるので)-同じ結果。この部分を実装するための別のアイデアはありません。それは機能しません。
Regex101:私の試み
結果を得ることよりも、私の知識を向上させることの方が重要です。私がやろうとしていることをあなたが理解してくれることを願っています。
宜しくお願いします、
ファルト
PS:オプションgm(<br\s*?\/?>)
を使用<br /> tags
して、文字列内のすべての出現箇所を見つけることを知っています。
以下を使用できます。
<br\s*\/>(?=(?:(?!<\/?pre>)[\s\S])*<\/pre>)
デモと説明を参照してください
ロジック:マッチすべてbr
が続いていませんタグ</pre>
と何がある<pre>
か</pre>
の間に。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加