Java Regex:替换jsps中的多个单词

时间:2016-03-30 13:26:55

标签: regex jsp

我正在使用像 -

这样的Jsp代码
<input type = "something" name = "something" value = "dto.value" />

现在我想用“form:input”替换“input”,删除name属性,添加新属性“path”并将“name”属性值设置为路径,例如我的最终输出将是 -

<form:input type = "something" path = "dto.value" />

我如何实现它,因为我需要超过250 jsps。

2 个答案:

答案 0 :(得分:0)

如果您使用的是Eclipse IDE,请使用 Ctrl + F 获取Find\Replace弹出窗口。然后选中Regular expressions复选框。 分别在FindReplace with文本框中使用这些正则表达式。

查找:<(.*?)name\s*=\s*\"([^"]*)\"(.*)/>

替换为:<form:\1 \3 path="\2" />

正则表达式解释:

<               # starting of the tag
(.*?)           # group 1 - all the characters till the word 'name'
name\s*=\s*     # the word 'name' and '=' with spaces in between
\"              # starting of the name attribute value
([^"]*)         # group 2 - the value of name attribute
\"              # end of the name attribute value
(.*)            # group 3 - all the other attributes and values
/>              # end of the tag

答案 1 :(得分:0)

这就是我做的工作。

查找:

 <input([^>]*value=")(\$\{([^"]*)\})"([^>]*)

替换为:

<form:input$1$2 path="$3" $4/