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)) |