2016-01-11 2 views
-1

Я хочу найти имя переменной в файле и посмотреть, присутствует ли она в формате, предшествующем и найденном <%=, и удалить его, если он равен eg.find имя переменной из ниже (т.е. invalidChars) и поиск, если он присутствует в формате <%=invalidChars%> и преобразовать его в invalidCharsСделайте поиск, но замените его в другом месте

Пример

var invalidChars = "getText('po.number.has.invalid.chars')" />'; 

/* Some random text */ 

alert('<%=invalidChars%> ') 

Я использовал var(.*?\w+).* найти имя переменной т.е. invalidChars, но теперь не могу заменить это на postion позже в файле ie convert alert('<%=invalidChars%> ') до alert('invalidChars') в одной или нескольких операциях, как использовать это значение, полученное в моем следующем поиске, поскольку я не могу использовать find <℅=$1=℅> with $1

+0

Итак, каков ожидаемый результат? – HamZa

+0

Вы не можете сделать это в одном поиске и замене. Это две операции, которые вам нужно выполнить. –

+0

Что не так с '<%=(\w+)%>'? См. Https://regex101.com/r/uB2vQ2/1 Или я что-то не хватает? – Jan

ответ

0

Попробуйте заменить это регулярное выражение.

  • Найти:(var\h+)([^\h=]+)(.*)<%=\2%>
  • Заменить:\1\2\3\2
  • проверки в нижнем левом углу: регулярное выражение и . соответствует Newline

Нажмите несколько раз Заменить, если вы уверены, что это то, что вы хотите (и в сценариях complexer с участием нескольких переменных): нажмите Заменить все. Если он не работает, используйте Undo.

В случае, если несколько определений var и положение их использования перекрываются: Заменить все заменит только внешний var. Продолжайте нажимать «Заменить или заменить все», пока не будет выполнено никаких дополнительных изменений (см. Строку состояния диалогового окна замены).

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