ホームページ >バックエンド開発 >PHPチュートリアル >正規表現に一致が含まれている必要がある方法を教えてください
通常:
c91d53d6c88b75d6d73164699712d6acfc17a6752d85043afe4e83b709ba2f53a4b561c25d9afb9ac8dc4d70affff419(.*)0d36329ec37a2cc24d42c7229b69747a 16b28748ea4df4d9c2150843fecfba685db79b134e9f6b82c0b36e0489ee08ed
コンテンツ:
25edfb22a4f469ecb59f1190150159c6strbed06894275b65c1ab86501b08a632eb25edfb22a4f469ecb59f1190150159c60c8c1d122134d9e0d2b91bfbdbcbed15タイトル 15db79b134e9f6b82c0b36e0489ee08ed8e22c81817d224bf490a20f8d20d8ac9327bcfd6466defe64b8dc26b19968d81fc17a6752d85043afe4e83b709ba2f53a4b561c25d9afb9ac8dc4d70affff419タイトル 20d36329ec37a2cc24d42c7229b69747a16b28748ea4df4d9c2150843fecfba685db79b134e9f6b82c0b36e0489ee08ed
ターゲット: (e75d72b33bc2356d7a6d9d4541cda3eca4b561c25d9afb9ac8dc4d70affff419)
327bcfd6466defe64b8dc26b19968d81fc17a6752d85043afe4e83b709ba2f53a4b561c25d9afb9ac8dc4d70affff419タイトル 20d36329ec37a2cc24d42c7229b69747a ;5db79b134e9f6b82c0b36e0489ee08ed
現在のエラー結果: (段落全体に一致)
0c8c1d122134d9e0d2b91bfbdbcbed15タイトル 15db79b134e9f6b82c0b36e0489ee08ed3b7fe14aed09a42954f2a4e7667e3674fc17a6752d85043afe4e83b709ba2f53a4b561c25d9afb9ac8dc4d70affff419タイトル 20d36329ec37a2cc24d42c7229b69747a16b28748ea4df4d9c2150843fecfba685db79b134e9f6b82c0b36e0489ee08ed
プラス貪欲を禁じます
これはどういう意味ですか?
$str = '<li>str</li><li><a href="/x.html">标题一</a></li><a href="/BAMC"><div class="plst"><b>标题二</b></div></a>';preg_match_all("/<a.*?><div class=\"plst\"><b>(.*)<\/b><\/div><\/a>/is",$str,$match);echo "<pre class="brush:php;toolbar:false">";print_r($match);
正しい結果:
327bcfd6466defe64b8dc26b19968d81e97feeafc4d155d2e9349dc0dd95938ba4b561c25d9afb9ac8dc4d70affff419タイトル 20d36329ec37a2cc24d42c7229b69747a16b28748ea4df4d9c2150843fecfba685db79b134e9f6b82c0b36e0489ee08ed
現在のエラー結果:
0c8c1d122134d9e0d2b91bfbdbcbed15タイトル 14a11e5928b3688cf38c9163b657eb5ac548cefb384a95312edb7e8fb1f4ecc29327bcfd6466defe64b8dc26b19968d81fc17a6752d85043afe4e83b709ba2f53a4b561c25d9afb9ac8dc4d70affff419タイトル 20d36329ec37a2cc24d42c7229b69747a16b28748ea4df4d9c2150843fecfba685db79b134e9f6b82c0b36e0489ee08ed
あなたの方法を試しましたそして、それは依然として次の結果と一致しました。
すごい
すごい
preg_match_all("/55784847ccfa800f7f23a4af7651bca8fc17a6752d85043afe4e83b709ba2f53a4b561c25d9afb9ac8dc4d70affff419(.*)0d36329ec37a2cc24d42c7229b69747a
U の追加は貪欲を禁止します
結果が一致したらすぐに終了するため、貪欲の問題ではないようです。
$str = '<li>str</li><li><a href="/x.html">标题一</a></li><a href="/BAMC"><div class="plst"><b>标题二</b></div></a>';preg_match_all("/<a.*?><div class=\"plst\"><b>(.*)<\/b><\/div><\/a>/is",$str,$match);echo "<pre class="brush:php;toolbar:false">";print_r($match);
preg_match_all("/<a.*?><div class=\"plst\"><b>(.*)<\/b><\/div><\/a>/isU",$str,$match);//加上U,禁止贪婪模式
preg_match_all("/<a.*?><div class=\"plst\"><b>(.*)<\/b><\/div><\/a>/isU",$str,$match);//加上U,禁止贪婪模式
結果:
$str = '<li>str</li><li><a href="/x.html">标题一</a></li><a href="/BAMC"><div class="plst"><b>标题二</b></div></a>';preg_match_all("/<a.*?><div class=\"plst\"><b>(.*)<\/b><\/div><\/a>/U",$str,$match);echo "<pre class="brush:php;toolbar:false">";print_r($match);
<pre class="brush:php;toolbar:false">Array( [0] => Array ( [0] => <a href="/x.html">标题一</a></li><a href="/BAMC"><div class="plst"><b>标题二</b></div></a> ) [1] => Array ( [0] => 标题二 ))