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 |
#2 · Zasláno: 6. 5. 2011, 21:09:49
(([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 |
#3 · Zasláno: 6. 5. 2011, 21:12:27 · Upravil/a: Ernie
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 * |
#4 · Zasláno: 8. 5. 2011, 15:20:48
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 :) |
||
Časová prodleva: 13 let
|
0