SHOW:
|
|
- or go back to the newest paste.
1 | ||
2 | - | import re, macros |
2 | + | import re, macros, strutils |
3 | ||
4 | macro `/` (s: string, flagSym: expr): expr {.immediate.} = | |
5 | - | var flagList = {reStudy} |
5 | + | let flags = astToStr(flagSym) |
6 | - | # here the compiler complains `i` is undefined |
6 | + | var re_flags = newNimNode(nnkCurly).add(ident"reStudy") |
7 | - | let flags = $flagSym |
7 | + | if 'i' in flags: re_flags.add(ident"reIgnoreCase") |
8 | - | # if flags.contains('i'): |
8 | + | |
9 | - | # echo("here") |
9 | + | result = newCall("re", s, re_flags) |
10 | - | # flagList.add(reIgnoreCase) |
10 | + | |
11 | ||
12 | - | result = newCall("re", s, parseExpr"{reStudy}") |
12 | + | |
13 | ||
14 | echo(" ".match(re1)) |