正则表达式;如何匹配所有不是尾随数字?

时间:2017-05-05 10:27:46

标签: regex

我不确定我是否可以在这里提出这样的问题,但我会尝试。

我有多个文件。文件名具有以下模式:

Lorem_Ipsum1054.html

Lorem_Ipsum的长度不固定。使用Better Rename 10我想更改文件名,如下所示:1054.html

意思是:我需要匹配除尾随数字之外的所有内容。这个数字的长度可能不同。

意思是:我需要匹配任何不是尾随数字的东西,用Better Rename 10替换它。

谁能帮帮我?

2 个答案:

答案 0 :(得分:2)

尝试使用^(\w*?)(?=\d+\.html)并替换为""空字符串。

<击> Regex101 Demo

由于默认情况下会排除扩展名,并且文件名中存在数字和空格,请使用以下正则表达式。

正则表达式: ^([\w ]*?)(?=\d+$)

<强>解释

^([\w ]*?)会在跟踪由(?=\d+$)找到但未匹配的数字之前查找字符,空格尽可能少。

替换为空字符串''

<强> Regex101 Demo

答案 1 :(得分:1)

匹配任何内容,直到最后一个数字序列使用

.*\D(?=\d)

.*会覆盖任何内容(包括数字,空格等),直到非数字后跟数字(\D(?=\d))。由于.*是贪婪的,它会占用任何内容,直到最后一个非数字才会出现数字。

演示:https://regex101.com/r/uOoqXX/1