我正在尝试批量重命名文件名,找到文件名的前两个单词(可以包括带有连字符和撇号的名称,这些单词可以用空格或者用。分隔)。
然后我需要反转这些名称,用“。”分隔,然后附加任何剩余的单词。
例子:
“Pet r'ぇぇ。。Jpg”和'''ぇぇぺrひrひs。jpg“
“Stanley Baker.jpg”改编自“Baker.Stanley.jpg”
“Daniel Day-Lewis.jpg”改编自“Day-Lewis.Daniel.jpg”
如果我使用:
([\ W“ - ] +)
这让我得到了所有的话。但替换为:
$2.$1
不起作用。
然后,我如何捕获前两个,反转它们,然后只是附加剩余的文本?
要匹配前两个单词,您可以使用锚来断言字符串的开头。然后,您可以将捕获组使用两次,分隔符可以介于两者之间。
如果分隔符是空格或制表符,您可以使用:
^([\w'-]+)[ \t]+([\w'-]+)
这将匹配
^
字符串的开头([\w'-]+)
捕获组1[ \t]+
匹配空格或制表符的1倍以上(在char类中使用\s
来匹配空白字符或仅使用单个空格来匹配)([\w'-]+)
捕获组2并替换为:
$2.$1