HTML代码里遇到thymeleaf表达式需要替换,改为格式保留两位位小数,手动一个个替换太麻烦,想试一下用正则匹配,然后批量替换
<div class="row-item">
<span th:text="${info.singleSktPrice}">5470元</span>
</div>
期望的结果是
<div class="row-item">
<span th:text="${#numbers.formatDecimal(info.singleSktPrice,1,2)}">5470元</span>
</div>
正则表达式,匹配以“ABC”开头,但不包含开头
(?<=ABC).+
正则表达式,匹配以“XYZ”结尾,但不包含结尾
.+(?=XYZ)
套用到此处,表达式为
(?<=th:text="\$\{).+(?=Price\}")
但是这样写,会有另外一个问题:如果一行里有多个这样的元素,只会匹配到一个。所以,还需要使用正则表达式的懒惰模式,改为:
(?<=th:text="\$\{).+?(?=Price\}")
使用j