1 个不稳定版本
0.1.0 | 2022年5月3日 |
---|
#501 在 模板引擎
在 sewer 中使用
7KB
146 行
sewer-replacement
简单的逆正则表达式风格的模板语言,用于替换
在替换中提供几个模式
模式 | 插入 |
---|---|
$$ |
文本字面量 "$" |
$n ,其中 n - 数字 |
索引匹配,即 str.replace("aaa(bbb)", "$1aaa") == "bbbaaa" 。零索引保留用于完全匹配。如果指定的分组不存在,则抛出错误,请参阅下文错误处理 |
$<name> ,其中 name - 字符串 |
命名匹配,即 str.replace("aaa(?P<name>bbb)", "$<name>aaa") == "bbbaaa" 。如果指定的分组不存在,则抛出错误 |
\\ |
文本字面量 "\" |
\ |
文本字面量 " " |
\xnn ,其中 n - 十六进制数字 |
插入具有十六进制代码 0xnn 的文本字节 |
(expr1|expr2|expr3...) ,其中 expr - 替换表达式 |
尝试执行 expr1 ,如果抛出错误(见上文) - 则尝试下一个表达式,如果没有匹配到任何表达式 - 抛出错误 |
表达式可以以 (?x)
开头,这使得解析器忽略空白字符,并允许编写注释
(?x)
$<group1> # Insert group 1
==
$<group2> # Insert group 2
依赖项
~0.3–0.8MB
~18K SLoC