在 Racket 中,您必须转义字符串中的反斜杠,因此 Windows 路径和正则表达式变得冗长。
例如,正则表达式
(.*)\1
可以用字符串"(.*)\\1"
或正则表达式常量表示#rx"(.*)\\1"
;必须对正则表达式中的 \ 进行转义以将其包含在字符串或正则表达式常量中。[来源:正则表达式语法]
在许多语言中,例如 Perl 和 Ruby 正则表达式在语法上是受支持/\([a-z]+\)/
的,而在其他语言中则有可选的原始字符串,例如在 Python 中r"\([a-z]+\)"
。似乎 Racket 不支持原始字符串,您不需要在本地转义反斜杠。有什么方法可以实现它们,第三方库,提案等等?
也可以看看: