Java Regex从文件名解析外汇对

时间:2017-01-27 14:56:28

标签: java regex

我无法使用Java正则表达式解析文件名中的内容。我提供了一个GUI界面来输入模式和替换,为每个文件名命名为" level1EUR__USD@TRUEFX_2009_05_01_2016_12_30.txt"

以下是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

1 个答案:

答案 0 :(得分:4)

您可以使用

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

并替换为$1/$2

请参阅regex demo

<强>详情:

  • ^ - 字符串开头
  • \w*? - 0+字词,尽可能少
  • ([A-Z]{3}) - 第1组(在替换模式中称为$1):3个大写ASCII字母
  • _+ - 1个或多个_字符
  • ([A-Z]{3}) - 第2组(在替换模式中称为$2):3个大写ASCII字母
  • .* - 其余部分