2017-01-27 2 views
0

У меня возникли проблемы с появлением регулярного выражения Java для анализа чего-либо из имени файла. Я представил с графическим интерфейсом для ввода шаблона и замены, для каждого имени файла с аналогичным названием, как «[email protected]_2009_05_01_2016_12_30.txt»Java Regex для анализа пары Forex из имени файла

Вот скриншот GUI: enter image description here

Я знаю, что это Java Regex, но я не могу понять, как это правильно.

Что такое регулярное выражение для замены "EUR__USD" в "EUR/USD"

Вход:

"level1EUR__USD @ TRUEFX_2009_05_01_2016_12_30"?

Выход:

level1EUR/USD @ TRUEFX_2009_05_01_2016_12_30

+0

является картина всегда то же самое? – MYGz

+0

Каким должен быть результат? –

+0

yes, шаблон одинаковый для всех файлов, а имена файлов в одном формате – parliament

ответ

4

Вы можете использовать

^\w*?([A-Z]{3})_+([A-Z]{3}).* 

и заменить $1/$2.

См. regex demo.

Детали:

  • ^ - начало строки
  • \w*? - 0+ слово символы, как можно
  • ([A-Z]{3}) - Группа 1 (далее с $1 в схеме замещения) : 3 заглавных буквы ASCII
  • _+ - 1 или более _ chars
  • ([A-Z]{3}) - Группа 2 (упоминаемый с $2 в схеме замещения): 3 заглавной ASCII буквы
  • .* - остальные линии
+0

короткое регулярное выражение "([A-Z] {3}) _ + ([A-Z] {3})", затем замените на "$ 1/$ 2" –

+0

Большое спасибо за подробное объяснение. Будет отмечен в 4 мин. – parliament

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