ホームページ > バックエンド開発 > PHPチュートリアル > 正規表現にどのような一致を含める必要があるかお伺いしてもよろしいでしょうか?

正規表現にどのような一致を含める必要があるかお伺いしてもよろしいでしょうか?

WBOY
リリース: 2016-06-13 12:33:21
オリジナル
697 人が閲覧しました

正規表現に
が含まれている必要がある場合に一致させる方法を教えてください。 正規表現:

(.*)
;

内容:
  • str
  • タイトル 1
  • < ; div class="plst">タイトル 2


    ターゲット: (
    を含める必要があります)
    タイトル 2



    現在のエラー結果: (段落全体に一致)
    タイトル 1
    2

    内容:
  • str
  • ..." data-pics="">
    -----解決策--------------------------------
    U を追加し、貪欲を禁止します
    -----解決策--------------------------
    これが言いたいことですか
    <br />
    $str = '<li>str</li><li><a href="/x.html">标题一</a></li><a href="/BAMC"><div class="plst"><b>标题二</b></div></a>';<br />
    preg_match_all("/<a.*?><div class=\"plst\"><b>(.*)<\/b><\/div><\/a>/is",$str,$match);<br />
    echo "<pre class="brush:php;toolbar:false">";<br />
    print_r($match);<br />
    
    ログイン後にコピー

    -----解決策---------
    リマインドしてください
    一部の境界付きコンテンツと一致させるには、ドット が恣意的に使用されることを避けるために、正規表現を boundary exclude border boundary
    の形式で記述する必要があります。 特にhtmlなどのマークアップ言語は、マークアップ言語の特性上、途中で改行を入れることは法的にはカバーできませんので、気軽にドットを使用すると被ってしまいます。ソース文字列がきちんとしていなければならないのは当然です
    極端な例を挙げてみましょう:
    href="
    abc/abc.html">
    ABC

    この HTML 文字列は完全に合法であり、Web ページの表示にはまったく影響しませんが、規則性について考える必要があります

    "[^"]*"
    <[^>] >
    [^<]*

    -----解決策-------------- - ----
    $s =<<< TXT<br />
    <li>str</li><li><a href="/x.html">标题一</a></li><a href="/BAMC"><div class="plst"><b>标题二</b></div></a><br />
    TXT;<br />
    preg_match('/.+(<a.+?<div class="plst".+?a>)/is', $s, $m);<br />
    echo $m[1];
    ログイン後にコピー
    <a href="/BAMC"><div class="plst"><b>标题二</b></div></a><br />
    
    ログイン後にコピー
    関連ラベル:
    ソース:php.cn
    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    人気のチュートリアル
    詳細>
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート