"X ve Y arasındaki her şey" için normal bir ifade yazmak nasıl

1 Cevap php

Ben bir değişken denir $ encoded_str almak ve ve cd1, CD1 ve ilk 'l' ve son boşluk arasında bir şey kaldırmak istiyorum. Yani, örneğin "LP6 ID4 STRINGcd1" "STRING" dönecekti.

Şimdi ben str_ireplace kullanamazsınız için PHP 4 kullanıyorum, ben bu var:

$encoded_str=str_replace('CD1','',$encoded_str);
$encoded_str=str_replace('cd1','',$encoded_str);
$encoded_str=preg_replace('X','',$encoded_str);

Ben preg_replace için KKO ettik ama biraz kafam karıştı. Ne ile X değiştirmeniz gerekir ve düzenli ifadeler yazmak için iyi bir tanıtım astar önerebilirsiniz?

1 Cevap

$encoded_str=preg_replace('/l.*(?<=\s)/','',$encoded_str);

Yukarıdaki regex son boşluklarla için dizesindeki ilk l şey maç olacak. Bu .* o dizenin ilk bölümünü tüketen oluyor için bitiş noktası olarak bir boşluk karakterin konumunu maç için Pozitif Geriye İlerleme kullanır. .* açgözlü olduğu için, Geriye bakan olabildiğince son boşluk karakteri maç olacak.

Bildiğim kadarıyla bir referans olarak, bu sayfalar büyük:

http://www.regular-expressions.info/tutorial.html