Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: RegEx na vyloučení

Aktivity
Avatar
Pavol Hejný
Tvůrce
Avatar
Pavol Hejný:16.9.2018 18:52

Nevím, jak rozdělit string pomocí RegExu v JS tak. Aby ignoroval dělící znak (v mém případě mezeru) v závorkách.

Zkusil jsem: Rád bych to provedl RegExem. Umím to napsat pomocí imperativního kódu, ale to mi připadá velmi neelegantní.

Chci docílit: Jde mi o to, abych ze stringu "translate(4 44) rotate(8 7 123)" vydoloval matche:

  1. "translate(4 44)"
  2. "rotate(8 7 123)"

Teda např. na tomto: https://regex101.com/r/r8c8ba/2 .

Editováno 16.9.2018 18:54
Odpovědět
16.9.2018 18:52
/^(web )?(app )?developer$/
Avatar
Honza Bittner
Tvůrce
Avatar
Nahoru Odpovědět
16.9.2018 19:28
FIT ČVUT alumnus :-) Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/tenhobi/ama.
Avatar
Jindřich Máca
Tvůrce
Avatar
Odpovídá na Pavol Hejný
Jindřich Máca:16.9.2018 19:29

Ahoj, není to tak jednoduché, ale ten RegEx na Tvém příkladu v JS může vypadat nějak takto:

console.log('translate(4  44) rotate(8 7 123)'.match(/\w*\([^)]*\)/gm));

// Vrátí ["translate(4  44)", "rotate(8 7 123)"]

Kdyby něco nebylo jasné, klidně se ještě ptej. ;)

Editováno 16.9.2018 19:29
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
16.9.2018 19:29
Avatar
Jindřich Máca
Tvůrce
Avatar
Odpovídá na Honza Bittner
Jindřich Máca:16.9.2018 19:30

Zbytečně složité. %P

Editováno 16.9.2018 19:30
 
Nahoru Odpovědět
16.9.2018 19:30
Avatar
Pavol Hejný
Tvůrce
Avatar
Pavol Hejný:17.9.2018 15:02

Díky moc oběma. To je přesně, co jsem potřeboval. Ani jsem netušil, že to jde tak lehce :) .

Nahoru Odpovědět
17.9.2018 15:02
/^(web )?(app )?developer$/
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.