[ Cola @ 25.08.2010. 23:22 ] @
Pišeem nekakav kod za parsiranje koda :) pa mi treba pattern za ovo što sledi imam Code: string expression= @"Select *, a - b from nekaTabela /* komentar */ where a = 5 -- komentar 2"; kao što vidite u piranju je SQL, mada u suštini nije bitno šta je jer sam mislio da ga koristim za bilo koji kod imam niz separatora po kojima bi trebao da razdvojim expression da dovijem tokene. Npr neka su separatori ' ' space,'+', '-', '*', '/' i ','zarez (neka zasad ostane na ovaim radi primjera) htio bi da vidim kako bi izgledao pattern da se razbije po tim separatorima Code: string[] matchs = Regex.Split(expression, pattern); to je lako Code: pattern = @"\s|\+|-|\*|/|,"; i dobijem matchs 'Select', '', '', '', 'a', '', '', 'b', 'from', 'nekaTabela', '', '', '', 'komentar', '', '', '', 'where', 'a', '=', '5', '', '', '', 'komentar2' (nisam ignoriso prazne zato imam '') međutim ja sam htio nešto drugo da dobijem, a to je da splitujem npr. po ovim ovde što sam naveo separatorima izuzev pojedinih kombinacija da ne gubim ove tokene npr (koji se u potpunosti ili djelomično sastoje od separatora) '/*', '*/' i '--' u kojima se ti separatori nalaze i sami Code: pattern = ????; da dobojem matchs 'Select', '', '', '', 'a', '', '', 'b', 'from', 'nekaTabela', '/*', 'komentar', '*/', 'where', 'a', '=', '5', '--', 'komentar2' znači da se vrši splitovanje po separatorima osim po nekim kombinacijama (kao u primjeru) Pozdrav PS pravo sam se pomučio da ovo lepo formatiram da shvatite šta je pisac hteo kasti (ako i tada skontate ;)) |