2016-01-04 3 views
-2

Ищет помощь с выражением regex.Regex for Does Contain occense

У меня есть список файлов называется

icn_home.png 
[email protected] 
[email protected] 

Im ищет регулярное выражение, которое будет только принимать значения, которые не заканчиваются @2x.png.

Затем я запустил скрипт, который удалит все оставшиеся файлы. Таким образом, .png и [email protected] будут удалены, оставляя на @2x.png файлы

+3

Какой язык/инструмент и что вы пробовали? – anubhava

+1

Обратите внимание, что в зависимости от инструмента вы можете просто инвертировать совпадение для более простого регулярного выражения. Поэтому, если вы можете использовать 'grep', вы можете сделать это:' ls -1 | grep -v "@ 2x \ .png $" ', где' -v' инвертирует совпадение. – steinar

+0

получение -bash:!. * @ 2x \ .png $: событие не найдено – JWalker1995

ответ

1

не заканчивается @2x.png:

^(?!.*@2x\.png$) 

  • ^ - от начала строки
  • (?!) - это отрицательный прогноз
  • .* - любое количество символов
  • \. - точка должна быть экранированы, в противном случае это означает любой символ,
  • $ - конец строки
+0

получение -bash:!. * @ 2x \ .png $: событие не найдено – JWalker1995

+0

@ JWalker1995, вы не сказали, на каком языке вы используете. Укажите это с помощью тега. – ndn

1

Это один должен удовлетворить ваши потребности:

^(?!.*@2x\.png$).+$ 

Regular expression visualization

Визуализация по Debuggex

Демо на regex101