[請益] 請問關於 RegExp 的問題

看板RegExp (正規表示式 Regular Expression)作者 (深藍站長)時間17年前 (2008/04/18 11:42), 編輯推噓2(202)
留言4則, 2人參與, 最新討論串1/1
※ [本文轉錄自 PHP 看板] 作者: ckmarkhsu (深藍站長) 看板: PHP 標題: [請益] 請問關於 RegExp 的問題 時間: Fri Apr 18 11:42:06 2008 使用 PHP 的 preg_match_all 函數 被截取字串: _________________________________________ <if condition="$vbul_letin"> conditionA1 <else> conditionA2 </if> test <if condition="$test2"> <b>conditionB1</b> <else> <i>condtionB2</i> </if> _________________________________________ RegExp : /<if condition="\$[a-zA-Z0-9_]+">(.|\n|\r)+(<else>|<\/if>)/ 我是希望能將 <if 一直到 </if> 涵蓋的內文全部抓出來 (<else> 為非必要標籤 可有可無) 而我 RegExp 的寫法為, 判斷 /<if condition="$[數字或英文或底限]+">(任意字元或換行)+(<else>或</if>)/ 但這樣的話,他會從一開頭的 if 一直抓到結尾的 /if 也就是抓了兩組的 if 組塊 請問該如何寫才能夠一次只抓第一組呢:) 感謝前輩指點 ckmarkhsu -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.248.23 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.248.23

04/18 18:06, , 1F
在(.*)+後面加上?即可
04/18 18:06, 1F

04/18 18:06, , 2F
呃我說的是任意字元或換行那裡
04/18 18:06, 2F

04/18 23:29, , 3F
妳用那個函式,他都抓出來,但是會存在不同的陣列位置
04/18 23:29, 3F

04/18 23:30, , 4F
所以妳要用再拿出來用就好了不是嗎?
04/18 23:30, 4F
文章代碼(AID): #1821YYcI (RegExp)
文章代碼(AID): #1821YYcI (RegExp)