2014-09-25 75 views
0

如何创建正则表达式来查找jstl参数中的新行字符? 我做了一些研究,发现以下内容将通过查找'$ {'和'}'之间的所有内容给我所有的JSTL标签。但我一直无法弄清楚如何改变它,找到只包含'\ r \ n'的jstl参数。如何查找具有特定开始和结束字符并包含换行符的字符串

(\$\{)(.+)(\}) 

编辑: 为了进一步澄清,如果通过JSP的搜索,我想找到类似以下内容:

<c:if test="${ 
        !detail.hasChildList}"> 

凡本JSTL调用中的参数包含一个换行符。 因此,我需要任何以“$ {”开头并以“}”结尾且包含“\ r \ n”的字符串。

+0

一些例子输入和预期产出将是有益的 – vks 2014-09-25 12:41:36

回答

0

在正则表达式中,'^'指向开始,'$'指向结尾。 ' '。'所有元素,但也有新的线路匹配,我想作以下的正则表达式:

/\${[^\n]*\n[^\n]*}/ 
+0

我已经在Eclipse IDE,并在记事本++尝试这样做,既抱怨声明不是有效。在eclipse中,当我将表达式改为:/ \ $ \ {[^ \ n] * \ n [^ \ n] *} /时,它停止抱怨,但没有奏效。 – ChrisThompson 2014-09-25 14:54:17

+0

也许是编码,试着用\ n \ r替换\ n到处。 但是这个正则表达式只会匹配一个换行符,对于多个换行符使用/ \ $ \ {([^ \ n \ r] * [\ n \ r])* [^ \ n \ r] *} / – Axel 2014-09-26 00:52:05

相关问题