説明
この正規表現は、ブロック${foo}
内にないネイキッドを見つけます<c:.... test="${foo}" />
正規表現:(?!("))\$\{[^}]*\}(?!")
と置換する<c:out value="$0" />
入力テキスト:<c:if test="${foo man chu}" />${foo bar}more text here
出力テキスト:<c:if test="${foo man chu}" /><c:out value="${foo bar}" />more text here
`タグ内にある可能性のある追加のエッジケースを処理するには、${foo.bar}
この正規表現を使用することをお勧めします
正規表現:(?!("))(\$\{[^}]*\})(?!")|(<a\b[^>]*\bhref=")(\$\{[^}]*\})(")
と置換する:$3<c:out value="$1$2$4" />$5
入力テキスト:<c:if test="${foo man chu}" />${foo bar}more <a href="${foo.name}" />text here
出力テキスト:<c:if test="${foo man chu}" /><c:out value="${foo bar}" />more <a href="<c:out value="${foo.name}" />" />text here