2016-04-05 15 views
0

: dash önce bir "-" sembolü ve simgesi sonra diğerini.PHP Regex sonra ve tire önce değeri elde etmek (-) Ben bir PHP iki sayısal değerleri almak için regex uygulamak çalışıyorum

ı 320-420

ben

preg-match("/[^-]+$/", "320-420")

kullanabilirsiniz biliyorum aralığı Ama sadece sembol sonra numarayı gördüğü ve ayrıca gerek regex var diyelim fonksiyonlar yapmaz, iki değişken iki numara (320 ve 420) kaydedin.

Nasıl bu sonucu elde edebilirsiniz?

+2

('-', "320-420");' Ben şahsen karıştırmak olur listede 'gibi listeyle o ($ a $, b) = patlayabilir ('-', "320-420");' – kainaw

cevap

1

kullanma düzenli ifadeler:

preg_match('/(\d+)\-(\d+)/', '320-420', $matches) 

Ama en iyi çözümü Bence içinde

:

list ($one, $two) = explode('-', '320-420'); 
+0

sana önerilen çözüm uyguladı. İşe yarıyor. Çok teşekkürler! – wiredmark

2

bazı insanlar tarafından önerildiği gibi sadece number-number sonra explode() kullanarak varsa iyi yaklaşımdır.

Ama böyle dize varsa varsayalım: hız

Menzil saatte 30-50 km olmalıdır. Bu gibi durumlarda

RegEx dize maç için kullanılmalıdır. capturing groups her iki değeri de yakalayacaktır bu (\d+)-(\d+) gibi basit regex kullanarak

. Bu yapmanız gereken şey, sen = `$ maçları ile biraz kolaylaştırmak patlayabilir TAM ise

Regex101 Demo