正則小問題

來源:互聯網
上載者:User
本帖最後由 snipersheep 於 2013-08-01 15:52:47 編輯

$str = '內容A內容B'
請問一下,用正則分別取出 內容A 跟 內容B 正則要怎樣寫呢?
註:內容A,內容B 中間會有分行符號。


回複討論(解決方案)

你要得到的事內容A和內容B呢,還是 id="test_0"的text和 id="test_1"的內容呢?

內容A 與 內容B
跟ID無關。不是JS。是PHP取資料。

$subject = ' you dead!hellojames            shit!hi
 
  • list
';$pattern = '/這裡正則如何寫/';preg_match($pattern, $subject, $matches);print_r($matches);$pattern_1 = '/這裡正則如何寫/';preg_match($pattern_1, $subject, $matches);print_r($matches);分別取到結果如下:資料一:you dead!hellojames資料二:shit!hi
  • list

$str = '內容A內容B';
preg_match_all('/(.*?)<\/div>/i',$str,$match);
echo $match[2][0];//內容A
echo $match[2][1];//內容B

默默收藏

preg_match_all('/(.*?)<\/div>/is',$subject,$match);
var_dump($match);

preg_match_all('/(.*?)<\/div>/is',$subject,$match);
var_dump($match);

好像有點問題。不是很准。

array(3) {  [0]=>  array(2) {    [0]=>    string(86) " you dead!hello"    [1]=>    string(80) "shit!hi"  }  [1]=>  array(2) {    [0]=>    string(12) " id="test_0""    [1]=>    string(12) " id="test_1""  }  [2]=>  array(2) {    [0]=>    string(45) " you dead!hello"    [1]=>    string(39) "shit!hi"  }}

少了〈/div〉

preg_match_all('/(\s*(?:\s*)*)<\/div>/us',$subject,$match);echo $match[0][0];echo '';echo $match[0][1];

james                                        shit!                hi                
 
  • list
';preg_match_all('/]+>(([^<]*|<(?!div)|(?R))+)<\/div>/us',$subject,$match);echo $match[0][0];echo '';echo $match[0][1];

james                                        shit!                hi                
 
  • list
';preg_match_all('/]+>(([^<]*|<(?!div)|(?R))+)<\/div>/us',$subject,$match);echo $match[0][0];echo '';echo $match[0][1];
膜拜大神!
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.