» »

Regex

Regex

BRBR ::


"[A-Z][a-z]+ [a-z]+",".*?","[0-9]+"
csv vrstica,ki se začne z enim stavkom v smislu "Ata mama","krneki","cifra"


če dam spredaj ^, je enako, torej to ni problem


"A v","-","2","1","3","13","-","-","-","-","-","2","-","-","21"
"A c","4","-","-","-","-","-","-","-","-","-","-","-","-","4"


torej prvi vrstici mi pobarva en program:
"A v","-","2"
kar je OK
v drugi pa celo, kar pa ni ok, je sploh ne bi smel barvat.


Česa ne vidim ?
  • spremenil: BRBR ()

shm ::

Problem imas zaradi .*? ki ti v drugi vrstici matcha 4","-","-","-","-","-","-","-","-","-","-","-","-
Namesto matchanja vsega s piko lahko matchas vse kar ni "

"[A-Za-z]+ [a-z]+","[^"]*?","[0-9]+"

BRBR ::

Ok tvoja varianta dela. Hvala.

4","-","-","-","-","-","-","-","-","-","-","-","-

a to si prav prilepil, ker mi ni jasno ama nič (-:

shm ::

Okej gremo po delih kako regex matcha tvojo drugo vrstico:

  1. "[A-Z][a-z]+ [a-z]+"," matcha "A c","

  2. .*? matcha 4","-","-","-","-","-","-","-","-","-","-","-","-

  3. ","[0-9]+" matcha ","4"


.*? bo matchal katerkoli znake dokler ne najde matcha za naslednji del regexa. In ker naslednji del dobi match na koncu vrstice ti s tem matcha vse znake vmes in ne samo do prvega " kot bi bilo najbolj intuitivno.

BRBR ::

Aha, jebiga,sem kar en cajt gledal zakaj je to tako "neintuitivno".
Hvala.

Spura ::

Zakaj preprosto ne uporabis csv parserja?


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

python regex split

Oddelek: Programiranje
7568 (473) HotBurek
»

Regular expression

Oddelek: Programiranje
161932 (1359) TESKAn
»

JavaScript

Oddelek: Programiranje
6986 (914) snooze77
»

regex kombinacija negative, positive look behind ...

Oddelek: Programiranje
141467 (1187) MrBrdo

Več podobnih tem