Regex 文件名中元素的正则交换位置

Regex 文件名中元素的正则交换位置,regex,Regex,我使用LameXP转换和编码音频文件。这些文件分组不好,但其文件名中包含可用于此目的的信息。文件示例如下所示 Genji-00000005818F.0B2-He'll talk.ogg Tracer-00000005818C.0B2-Do you think Maximilien will talk_.ogg Tracer-00000005818E.0B2-What does that mean_.ogg Winston-00000005818D.0B2-He just deals with t

我使用LameXP转换和编码音频文件。这些文件分组不好,但其文件名中包含可用于此目的的信息。文件示例如下所示

Genji-00000005818F.0B2-He'll talk.ogg
Tracer-00000005818C.0B2-Do you think Maximilien will talk_.ogg
Tracer-00000005818E.0B2-What does that mean_.ogg
Winston-00000005818D.0B2-He just deals with the money.ogg
LameXP提供了一个重命名工具,它利用正则表达式进行查找和替换。我想将文件ID(0000000 xxxxx)移到字符名之前的开头。我将使用什么表达式来隔离数据ID并将其移到前面

理想情况下,文件将以如下方式结束:

00000005818F_Genji-He'll talk.ogg

您需要提供更多有关文件名格式的信息

根据您提供的示例,这应该可以做到:

正则表达式
  • ^
    字符串的开头
  • (.+?)
    任何字符(尽可能少)都可以使用它来捕获作者姓名,并将其放入组1中
  • -
    破折号
  • ([0-9A-F]+)
    任何十六进制字符,将其放入组2中
  • \。
    一个点
  • [0-9A-F]+
    另一个十六进制字符级联,使用它捕获
    0B2
  • -
    破折号
替代 检查

^(.+?)-([0-9A-F]+)\.[0-9A-F]+-
\2_\1-