像 Perl 一样做一个 Nim 正则表达式修饰符

Do a Nim regex modifier just like Perl one

Nim 正则表达式 PCRE 修饰符是如何像 Perl 本身一样完成的,例如

/foobar/i
/ foo bar /x    
/foobar.*/s

等 ?

请正确解释在 Nim 上这样做
提前致谢

您应该使用 内联修饰符,

(?i)foobar
(?x)foobar
(?s)foobar

或者,修饰符组,这在只需要修改模式的一部分时特别方便:

(?i:foobar)
(?x:foobar)
(?s:foobar)

参见"Regex Modifiers—Turning them On"

我在论坛上报告了 Hlaftaana 对同一问题的出色回答:https://forum.nim-lang.org/t/8884

对于 re,您提供一组 RegexFlag arguments to the re function, with nre you supply them inside the regex

示例

import re
let reg1 = re("foo bar", {reIgnoreCase, reExtended})
# or
import nre
let reg2 = re"(?ix)foo bar"