reguláris kifejezések

Sziasztok,

Reguláris kifejezésbe mélyedtem bele és van egy példám ami működik és megoldottam a problémát, de nem csak php-vel kapcsolatban szeretnék regex guru lenni hanem mindenhol, javascript, linux bash stb. és kivi lennék, hogy lehetne másként megoldani ezt:
$string='';
$tartalom=preg_replace('("\w+.+png")', "\"mimi.jpg\"", $string);
/*$tartalom=preg_replace('("\d\")', "\"mimi.jpg\"", $string);*/
echo $tartalom;

Html van egy sztringben. ahol idézőjel ben egy png formátumú kép van azt cserélje le a mimi.jpg képre. Azt szeretném elérni, hogy az idézőjelet ne vegy bele, hanem az idézőjel közötti tartalmat vizsgálja csak és ne kelljen "\"mimi.jpg\""-re cserélni, hanem csak "mimi.jpg"re...

Egyébként bashben rinyál a zárjójelek miatt, azt ajánlja hogy `('duma')` így használjam de ennek más jelentése van ...

Hozzászólások

Köszi, igen a kíváncsi akart lenni :)

Annyit még megtennél, hogy elmagyarázod nekem? a kalap és utána levő karakter a kezdő karakter (start of string). (van egy béna jegyzetem angol nyelvű abból probaltam kitalalgatni dolgokat) viszont van ilyen hogy [^abc] és ez nem a, nem b vagy nem c-t jelent. Akkor ez a benne lévők negálása, de olvasni olvassa, csak nem veszi bele? azt jelenti a szögletes?
Az utolsó idézőjel meg azért nincs benne mer az eredetit pakolja vissza egy idézőjel utáni (szöveg.png)-t cserélünk ugye? :)


[^"]+\.png

A []-ek között karakterek halmazát adhatjuk meg, amire illeszteni akarunk. Ha azt soroljuk fel, amire nem akarunk illeszkedést, akkor a felsorolás elé a "^" jelet szúrjuk be -- itt tehát ennek változik a jelentése: "sor eleje" helyett "nem" -nek kell olvasni.

A fenti mintát úgy kell olvasni, hogy "nem idézőjelből egy vagy több, majd a ".png" sztring".