Bu bir PHP-özel olandan genel regex soru daha.
Ben gibi görünebilir farklı dizeleri verilen duyuyorum:
A/B/PA ID U/C/D
Ve ben boşlukları kullanarak ("/ PA ID U") sahip orta bölü segment ayıklamak için çalışıyorum:
preg_match('/(\/PA .+)(\/.+|$)/', '', $matches);
Ancak, bunun yerine ben bekliyordum "/ PA ID U" alma, I "/ PA ID U / C / D" başlamıştı.
Onu nasıl uyan öncelik yapabilirsiniz "/. +" "$" Üzerinden bu son grupta?
Ek notlar:
Ben dize çok değişir çünkü geçen grup, başka bir "/ somethingsomthing" veya "" ya da maç için bu gerekir. Ben sadece "/. +" Için uyuyorsa, ben böyle "A / B / PA ID U" gibi satırın sonunda ise "/ PA kimliği U", almak mümkün olmayacaktır.
Temelde, bu yüzden gibi özel bölümleri ayıklamak gerekiyor:
Verilen:
"A/B/PA ID U/PA ID U/C/D"
Özü:
(A), (B), (PA ID U), (PA ID U), (C), (D)
[GÜNCELLEME]
Ben ayrı ayrı "PA kimliği U" desen maç var anlamına gelir çünkü) split () veya (patlayabilir kullanarak önlemek için çalışıyorum. Kenara sadece çizgi ayrılmış kesimleri ayıklanan, ben substringler özgü desenleri maç doğrulamak gerekir.