替换为正则表达式 i 模板工具包

Replace with regexp i Template Toolkit

我有这串(牛仔裤尺码):W30L30 W31L32 W32L33

我想要 W30 31 32

我正在尝试

[% SET availableSizes = 'W30L30 W31L32 W32L33' %]
[% regexp = '(?<!^)W|L\d\d+' %]
[% SET availableSizes = availableSizes.replace(regexp , '') %]

但它给了我:30 31 32

你能帮忙吗?

与您声称的相反,您的代码已经生成了所需的输出。

$ tpage a.tt
W30 31 32

tpage是Template-Toolkit安装的命令。这是一个使用该库处理指定模板的简单程序。非常适合测试:)


a.tt:

[% SET availableSizes = 'W30L30 W31L32 W32L33' -%]
[% regexp = '(?<!^)W|L\d\d+' -%]
[% SET availableSizes = availableSizes.replace(regexp , '') -%]
[% availableSizes %]

我添加了 [% availableSizes %](因为您的模板除了换行之外实际上没有输出任何内容)和一些 -(以删除过多的换行)。