Kezdőoldal » Számítástechnika » Programozás » Hogy nézne ki helyesen egy...

Hogy nézne ki helyesen egy ilyen reguláris kifejezés?

Figyelt kérdés

Adott egy String, amit groupolni szeretnék a következő módon: ki szeretnék jelölni minden olyan csoportot, amit vessző választ el, de az idéző jelen belül lévő vesszőket ne vegye figyelembe.


A szöveg:

Veszprém, Székesfehérvár, "Budapest, 9. kerület", Szombathely, "Budapest, 11. kerület", "Budapest, 2. kerület", Győr


Amit én írtam reguláris kifejezés az nem jó, mert az utolsó vesszőig kijelöl mindent: (.*\"*.*\").*?,


Amit a google-ön találtam az pedig a vesszőket jelöli ki, bár helyesen, de az akkor lenne hasznos, ha split-elném a szöveget. Most azonban group-olni akarom lehetőleg vessző nélkül.



2020. máj. 10. 19:51
 1/2 anonim ***** válasza:
75%

Most nem ásom bele magam, de első közelítésben .* helyett .*?

Nézz utána a mohó (greedy) kifejezésnek, a tiéd ilyen, nem a következő idézőjelig megy, hanem az utolsóig.

2020. máj. 10. 20:06
Hasznos számodra ez a válasz?
 2/2 anonim ***** válasza:
100%

#1 Még csak nem is az utolsóig, hanem páronként keresi az idézőjeleket.


Összedobtam egy regexet, ami ahogy nézem megfelel a célnak, a 'result' group tartalmazza a lényegi tartalmat, amiben nincs benne a vessző maga, illetve ha több vessző követi egymást, akkor azokat is elkapja üres stringként.


((?P<result>([^,"]+(\"[^"]*(\"|$))*)+)(,|$))|,

2020. máj. 10. 20:39
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!