我有一堆要替换的文件
request.getParameter("thischangesallthetime")
至
stringescapeutils.escapehtml(request.getParameter("thischangesallthetime"));
我可以在记事本++中做到这一点吗?我可以使用什么正则表达式?
谢谢!
Search:
request.getParameter\("(.*?)"\)
Replace
stringescapeutils.escapehtml\(request.getParameter\("\1"\)\);
EDIT: as duncan correctly points out, the matching on the search regex needs to be non-greedy if you have more than one replaceable expression on one line. I corrected the search regex to take this into account.
PS: next time please show us what you tried.
m0skit0 的答案是一个入门者,但如果您的字符串中应该有多个这些值,则需要对其进行修改。例子:
你好 request.getParameter("thischangesallthetime") lorem ipsum request.getParameter("foobar") 等等
需要这个正则表达式:
寻找:
request.getParameter\("(.*?)"\)
用。。。来代替:
stringescapeutils.escapehtml(request.getParameter("\1"));
这 ?在正则表达式中使其不贪婪。否则第一场比赛(在'thisvaluechangesallthetime')将在第二场比赛(在'foobar')中抓住最后一个“)
而且您不需要在正则表达式的替换部分中转义括号。
如果没有 ?,您最终会得到以下结果:
hello stringescapeutils.escapehtml(request.getParameter("thischangesallthetime") lorem ipsum request.getParameter("foobar")); blah
请注意,在 ("foobar") 参数之后,escapehtml 括号才结束!