Autor Zpráva
the.ufon
Profil *
Dobrý den,

potřeboval bych poradit, jak rizdělit řetězec pomocí regulárního výrazu podle čárek, které navíc nejsou v závorkách

např toto:
"aaaaa(bbb,ccc), ddddd(), eeeee"


by by se rozdělilo na
aaaaa(bbb,ccc)
ddddd()
eeeee


věděl by si s tím někdo rady? :)
Moderátor Joker: Titulek „regulární výraz“ byl moc obecný, zpřesnil jsem ho.
ShiraNai7
Profil
(([a-zA-Z0-9_]+)(\(([^),]+,{0,1})*\)){0,1},{0,1})+


A výsledek v testovacím programu je:

aaaaa(bbb,ccc),
ddddd(),
eeeee


Nicméně to má mouchy. Na takové záležitosti je lepší si napsat vlastní funkci pro analýzu textu.
Ernie
Profil
Co takhle?
"([^\(]*\(?[^\)]*\)?), "

Sice musí být dvojice znaků ", " i na konci, ale vadí to?
Výsledkem je pak
aaaaa(bbb,ccc)
ddddd()
eeeee

(používám php fci preg_match_all)

EDIT: Teď si uvěmuji, že na Váš příklad by stačilo
Explode(", ", "aaaaa(bbb,ccc), ddddd(), eeeee");
the.ufon
Profil *
Díky za odpověď!

zkoušel jsem oba výrazy, nakonec se mi zadani trochu rozšířilo, take jak říkáš ShiraNai7, lepší bylo napsat funkci která mi ten text projede :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0