ci provo, allora
Codice PHP:
$phrase = (gruppoA)testo (gruppo lala(gruppoB)altro testo(gruppoA)trallalalalala(gruppoB)
$reg_expr = "help me";
preg_match_all($reg_expr, $phrase, $lines, PREG_SET_ORDER);
/*
* Io cerco la $reg_expr per ottenere
* $lines[0][indice che preferisci] = "testo (gruppo lala";
* $lines[1][stesso indice che preferisci] = "trallalalalala";
*/
Chiaramente l'"indice che vuoi" dipende da come si raggruppano i matching. Comunque il punto č che quel
"(gruppo" mi da proprio fastidio, perchč ho due strutture (dove per struttura intendo (gruppoA) testo (gruppoB) nello stesso testo, quindi
Codice PHP:
$reg_exp = "/\(gruppoA\)(.*)\(gruppoB\)/";
non puo' andare perchč becco in $line[0][1]:
testo (gruppo lala(gruppoB)altro testo(gruppoA)trallalalalala
Allora dico, mettiamo cosi'
Codice PHP:
$reg_exp = "/\(gruppo>\)([^\(]*)\(gruppoB\)/";
perfetto, se non ci sono parentesi tonde all'interno della struttura, altrimenti come nell'esempio di frase che ho messo non trova nulla.
Quindi io intendo che voglio considerare un gruppo (quello contenuto tra (gruppoA) e (gruppoB)) che non contenga al suo interno il gruppo di caratteri (gruppoB).
Questo senza iniziare a scomporre in array, perchč cosė vedo la soluzione, ma vorrei sapere se si puo' fare con una sola reg exp.
Spero si capisca qualcosa, grazie k.b.