正则表达式 – 模板工具包在字符串中保留20个第一个chrachters

我试图从除前20个字符之外的字符串中删除所有内容.但正则表达式删除前20个并保留其余部分.我怎么解决这个问题?

这是我的代码:

[% p.name | remove('(.{20})', '$1') %]

我也试过这个:

[% p.name.replace('(.{20})', '$1')) %]

最佳答案 您的正则表达式与长度小于20的字符串不匹配.

使用:

[% p.name.replace('(?<=.{20}).*', '')) %]

要么:

[% p.name.replace('(.{0,20}).*', '$1')) %]
点赞