O Düzenli İfade değil eğer varsa, unut onu kapmak

0 Cevap php

Ben adres detaylarını içeren bir dosya ayrıştırma. Bazen adres bazen (ayrı satırlarda) iki faks numaraları vardır, bir faks numarası vardır. Nasıl "ikinci bir faks numarası varsa, onu kapmak. Değil, bunu unutmayın" diyebilirim benim regex motoru?

Burada bir faks numarası ile bir örnek:

Tel: +1 212 12345
Fax: +1 212 23456

İlçe HQ: Springfield

ve iki faks numaraları:

Tel: +1 212 12345
Fax: +1 212 23456
Fax: +1 212 34567

İlçe HQ: Springfield

Ben PHP'nin preg_match_all sonuç almak için kullanıyorum:

$shop_name_regexp = 
        '/' . 
        'Tel.*?:(?<telephone>.*?)\n' . // Tel: or Telephone:
        'Fax:(?<fax>.*?)\n.*?' .
        '/s';
preg_match_all($shop_name_regexp, $string, $hit);

Ben [Fax:(?<fax2>.*?)]? gibi bir şey ile ikinci faks numarasını kapmak düşündüm ama çalışma alınamıyor. Herhangi bir yardım takdir.

0 Cevap