我需要一个regex来在eclipse中执行搜索,以匹配以${和以}结尾但两者之间不应该有pageContext的所有字符串。例如
${requestScope.user}
${sessionScope.user}
应该匹配
但是${pageContext.request}不应该
经过所有的努力,我已经做了这个regex (\${),它匹配以${开头的字符串,但是一些不满足我的requirement.any帮助的方法将是非常感谢的。
发布于 2016-08-02 13:22:06
您可以使用负前瞻性来排除特定的匹配:
\$\{(?!pageContext\.).*?\}
^^^^^^^^^^^^^^^^(?!pageContext\.)查找将失败所有匹配{和pageContext.的匹配。另外,您可以使用[^{}]*而不是.*?。
模式细节
\$ -文字$\{ -文字{(?!pageContext\.) -如果pageContext.立即跟随{,则失败.*? -除换行符以外的任何0+字符(或[^{}]* -0或多个字符( {和}除外))\} -一个字面上的}。注意事项
如果需要避免将任何${...}子字符串与其内任何位置的pageContext.匹配,请使用
\$\{(?![^{}]*pageContext\.)[^{}]*\}
^^^^^^^^^ 在这里,展望内部的[^{}]*将在除{和}之外的任何0+字符之后查找pageContext.。
https://stackoverflow.com/questions/38721623
复制相似问题