CGPQSMRFAEGSEMLDQWPHLEOAF26HVF3IC6BEKRCOSV2H6QLIBEAQC
DTTZ4DUAJOML3DTLSVGNI32VJC6QD2LG7IT2VB4NGLATEA34PSXQC
DB44ZP7WEBTVG2VE22AT3WEOV7BAKSTKWSLAAQJ22PCS2ELDK5SAC
ZEJI2R6JJ6NJVO4Y4DZFPPOCHKOUDEWFEKQCB7DIUNMUF7YW7KHAC
ZMAZUHFHJOW2GSUH5SUDXRG4STQ6PQHWYGZIZHEJCN73PSNQOAAQC
S4P2B3FPF57HPHTIAYGMPCVKB7573IB5ZBKNXVBTB6ICCPF55WNQC
BEWT3YUFWOAKQVEO4ZERUTFISI26ULUCNKICDZFYZ4OM3DRLCKWQC
PPHB36IL7PBXYAGHV6QEFNCKUXEJSSR6264PACKRP7OT2SWNUV6AC
N26QYRDHYBF36ODEANJ2EJKCWGWADPU3JZ2WLFJDTLZXANW6URIQC
VMDMPFXK7YLGVFDUYP3J7MZJLGXZXM7QRB6TFUZP366DHZI5C5RQC
4VNZQBWQEJCH3Q7RQWSWOCLBKHUCFR4WLHFQUODWW3UFIC7LB7XAC
L74V6CJIN5SLAGQSFFJFWGTI6M6KBRZYFBVD2C2B3MSGHWLIFMFQC
G7YFNSFI3JP7XLGLNS3G7ELOXU4JNLXYY66BT54LG67AWFM23RVAC
HJRBTOQBHI6PKPGSZGVBJNPOESUODDNIR6KDKTJOE2P2VHZUKLZQC
H7PPEYC35JOQ2NSSEYVPTFWZBNO5WXRWG5X3XR3JGX5R2BBU5WWAC
4DHN3FJ7YPSEPXXU2LCTLKGCAKH6RLGLTYFN2P6XTZJDPR5SFJMAC
W4S5ZVBQG3G3MCXNCKZFHAQX7XH3UW6WTKVXN2XGRFG5EJ7JPLNQC
irc_msg_regex := r'^:([^ ]+) ([^ ]+) :?([^ ]+)( :?(.*))?'
// irc_extra_regex := r'(\S*)(\s+:?([^:]+))?$'
mut re := regex.regex_opt(irc_msg_regex) or { panic(err) }
start, _ := re.match_string(line)
if start >= 0 {
for g_index := 0; g_index < re.group_count; g_index++ {
parts.push(re.get_group_by_id(line, g_index))
mut re := regex.regex_opt(irc.irc_msg_regex) or { panic(err) }
re.match_string(line)
for g_index := 0; g_index < re.group_count; g_index++ {
start, end := re.get_group_bounds_by_id(g_index)
if start >= 0 {
parts.push(line[start..end])