使用Eclipse搜索功能CTRL-H
,可以用什么样的正则表达式来替换所有出现的<spring:message />
标签,如:
<label>
<spring:message code="name" />
</label>
<h1><spring:message code="title" /></h1>
使用:
<label th:text="#{name}"></label>
<h1 th:text="#{title}"></h1>
修改
如果正则表达式也会处理替换:
,那就太好了<label class="lalala"><spring:message code="name" /></label>
答案 0 :(得分:3)
你可以使用这个通用的:
<([^>]+)>\s*<\s*spring:message\s+code="([^"]*)"[^<]+<\/\1>
并替换为:
<\1 th:text="#\{\2\}"><\/\1>
您可能必须像这样逃离IDE的backslaseh:
正则表达式:
(?s)<([^>]+)>\\s*<\\s*spring:message\\s+code=\"([^\"]*)\"[^<]+<\\/\\1>
subst
<\\1 th:text=\"#\\{\\2\\}\"><\\/\\1>
答案 1 :(得分:2)
这应该有效
(?s)<label>[^<]*<spring:message code="([^"]*)" */>[^<]*</label>
- &GT;
<label th:text="#{$1}"></label>
和
<h1><spring:message code="([^"]*)" /></h1>
- &GT;
<h1 th:text="#{$1}"></h1>
((?s)允许多行匹配:multiline search replace with regexp in eclipse)