首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Freemarker替换

Freemarker替换
EN

Stack Overflow用户
提问于 2014-04-01 04:40:28
回答 2查看 7.1K关注 0票数 3

下面是

代码语言:javascript
复制
<#elseif  (pageData.author.googlePlus)[0]=="+" || (pageData.author.googlePlus)?  
 matches("^[+]+")>
<#assign str = (pageData.author.googlePlus)?replace("^[+]+","")>
<link rel="author" href="https://plus.google.com/+${(str)!}/posts" />
<#else>

这里面有什么问题吗?我想要这样的东西

代码语言:javascript
复制
Input:  +xyz 
Output: +xyz

Input:  ++xyz
Output: +xyz

Input:  +++xyz
Output: +xyz
EN

回答 2

Stack Overflow用户

发布于 2014-04-01 07:07:14

问题是您缺少"r"参数。这样做:?replace("^[+]+", "", "r")

票数 7
EN

Stack Overflow用户

发布于 2014-04-01 04:45:35

在caracter类[]中插入^:

[^+]+

结果:

代码语言:javascript
复制
+++xyz
Match 1:    xyz      3       3

不在范围内的

字符可以通过对集合进行补充来匹配。如果集合的第一个字符是'^',则将匹配不在集合中的所有字符。例如,^5将匹配除“5”之外的任何字符,^^将匹配除“^”之外的任何字符。如果^不是集合中的第一个字符,则没有特殊意义。

https://docs.python.org/2/library/re.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22771736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档