如何在Freemarker中使用正则表达式(\ b,\ w)?

 麦芽糖的-寂寞 发布于 2023-02-12 18:10

你需要加倍反斜杠:

${str?replace("\\d+", "", "r")};

这是因为在正则表达式转义规则之前应用了字符串转义规则.所以字符串"\\d"被转换为正则表达式\d,然后匹配一个数字.

如果你的字符串是"\d",字符串处理器将它转换为文字d(因为\d它不是一个可识别的字符串转义序列,所以它被忽略).

1 个回答
  • 你需要加倍反斜杠:

    ${str?replace("\\d+", "", "r")};
    

    这是因为在正则表达式转义规则之前应用了字符串转义规则.所以字符串"\\d"被转换为正则表达式\d,然后匹配一个数字.

    如果你的字符串是"\d",字符串处理器将它转换为文字d(因为\d它不是一个可识别的字符串转义序列,所以它被忽略).

    2023-02-12 18:12 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有