0

私はこのページを参照しています: http://ergoemacs.org/emacs/emacs_regex.html

これは、Emacs Regexp でパターンをキャプチャするには、次のように括弧をエスケープする必要があることを示しています\(myPattern\)

さらに、一連の ASCII 文字をキャプチャするための構文は次のとおりです。[[:ascii:]]+

私のドキュメントでは、 と の間で発生するすべての文字列を一致させようとしています<p class="calibre3"></p>

したがって、上記の構文に従って、replace-regexp for を実行します。

<p class="calibre3">\([[:ascii:]]+\)</p>

しかし、一致するものは見つかりません。

提案?

4

3 に答える 3

2

正規表現は汎用の HTML 解析には適していませんが、段落タグを有効にネストできないため、次のようにすると問題ありません (マークアップが有効で整形式である場合)。

<p class="calibre3">\(.*?\)</p>

*?貪欲ではないゼロ以上の繰り返し演算子であるため、可能な限り一致しません。この場合、次までのすべてに一致します (テキスト</p>の最後まですべてに一致する貪欲なバージョンとは対照的です)。</p>

問題のデータに適合する場合、この[^<]アプローチは問題ありませんが、段落内に他のタグがある場合は機能しません。

于 2013-04-25T20:40:02.110 に答える
0

<p class="calibre3">\([^<]\)+</p>

ソース: @TooTone

于 2013-04-25T14:58:54.193 に答える