2014-09-25 5 views
0

Как создать регулярное выражение для поиска новых символов строки внутри аргументов jstl? Я провел некоторое исследование и обнаружил, что следующее даст мне все теги JSTL, найдя все, что угодно, между $ {'и'} '. Но мне не удалось выяснить, как это изменить, чтобы найти только аргументы jstl, содержащие «\ r \ n».Как найти строку, которая имеет конкретные начальные и конечные символы и содержит символ новой строки

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

Edit: Для дальнейшего уточнения, если поиск через JSPs, я хотел бы найти что-то вроде следующего:

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

Если аргумент внутри этого JSTL вызова содержит символ новой строки. Поэтому мне нужна строка, начинающаяся с «$ {» заканчивается на «}» и содержит «\ r \ n».

+0

несколько примеров ввода и ожидаемые результаты будут полезны – vks

ответ

0

В регулярных выражениях '^' наведите начало и '$' на конец. '.' совпадает со всеми элементами, но и новую строку, я хотел бы сделать следующее регулярное выражение:

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

Я попытался это в Eclipse IDE и в Notepad ++ и оба жаловались на заявление не является действительный. В eclipse, когда я сменил ваше выражение на:/\ $ \ {[^ \ n] * \ n [^ \ n] *} /, он переставал жаловаться, но не работал. – ChrisThompson

+0

Возможно, это кодировка, попробуйте заменить \ n на \ n \ r везде. Но это регулярное выражение будет соответствовать строкам с одной новой линией, для использования нескольких новых строк/\ $ \ {([^ \ n \ r] * [\ n \ r]) * [^ \ n \ r] *} / – Axel

Смежные вопросы