拉我的頭髮在這一個:正則表達式捕獲文本,非常有條件
我試圖捕捉到這些詞之間的文字,總是,我得到不同的結果。
當前代碼:
preg_match_all("/ID:([0-9A-Za-z]+)/",$data,$ids);
if (count($ids[0]) > 1) {
$data = str_replace($ids[0][1],"",$data);
}
preg_match("/ORIG:(.*)ID:.*/",$data,$matches);
$name = $matches[1];
if (FALSE !== $heh = strpos($name,"SND BK:")) {
$name = substr($name,0,$heh);
}
樣本數據:
ORIG:FIRSTNAME LASTNAME ID:123123123 SND BK:TIB BANK BANK BANK DET:MEMO
ORIG:FIRSTNAME LASTNAME ID:123123123 SND BK:TIB BANK BANK BANK ID:123123123 DET:MEMO
ORIG:FIRSTNAME LASTNAME ID:123123123 DET:MEMO
我需要ORIG
,並DET
之間完全捕獲數據。無論何時我在該字段中有兩個ID,我一直堅持使用RegEx,最終獲得其中一個ID。有時候甚至沒有捕獲到ORIG
。
任何幫助表示讚賞。謝謝。