Php preg_match yardım

1 Cevap php

Ben maç bir php preg_match bulmaya çalışıyorum

test1 test2 [...] ama test1 dnm2 [...]

ve $ maç olarak çıkış olarak dnm2 (...) döndürür.

Denedim

preg_match('/^[a-zA-Z0-9][\[](.*)[\]]$/i',"test1 test2[...]", $matches);

Ama her iki davayı maçlar ve tam cümle dönmek.

Herhangi bir yardım takdir.

1 Cevap

preg_match('/([a-zA-Z0-9]+[\[][^\]]+[\]])$/i',"test1 test2[...]", $matches);

bir veya daha fazla alfa sayısal karakter diyor + [a-zA-Z0-9] sonra fark

( ve ) Bütün ifadenin etrafına tüm ifadeyi yakalamak için izin istiyorum.

Içerik etrafında olduğundan [] Ben normal ifadenin beri .* [^\]] değişti greedy durumunda olan {[(4) Bir ] olduğundan]} bunu sonuna kadar yakalamak istiyorum.

Eğer sonunda $ hep maç olacak şeyleri kullanarak beri Ayrıca unutmayın, ben bunu yapmak niyetinde buysa gerçekten emin değilim.

Sen this referans için görebilirsiniz.