2017-10-04 33 views
0

使用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> 

回答

3

你可以使用這個通用的一個:

<([^>]+)>\s*<\s*spring:message\s+code="([^"]*)"[^<]+<\/\1> 

,並通過更換:

<\1 th:text="#\{\2\}"><\/\1> 

Regex Demo

您可能必須像這樣逃脫您的IDE的backslaseh:

正則表達式:

(?s)<([^>]+)>\\s*<\\s*spring:message\\s+code=\"([^\"]*)\"[^<]+<\\/\\1> 

SUBST

<\\1 th:text=\"#\\{\\2\\}\"><\\/\\1> 
+0

通用的作品之一,非常感謝你。一個小細節:你錯過了#,它應該是<!1 th:text =「\#{\ 2 \}」><\/\1> – yglodt

+0

@yglodt正好!好的結果......更新了答案 –

2

這應該工作

(?s)<label>[^<]*<spring:message code="([^"]*)" */>[^<]*</label> 

- >

<label th:text="#{$1}"></label> 

<h1><spring:message code="([^"]*)" /></h1> 

- >

<h1 th:text="#{$1}"></h1> 

(爲(S)有沒有允許多場比賽:multiline search replace with regexp in eclipse