正则表达式匹配部分文件名

时间:2016-07-05 08:15:29

标签: regex

我需要使用正则表达式匹配表达式来查找文件名的一部分。

例如文件名 ABC01-001-M-001_0.dwg

我需要匹配下划线后面的第一个数字(这是图形文件名的修订号)

在这种情况下,它将与 0

匹配

有人可以告诉正则表达式吗?

非常感谢。

3 个答案:

答案 0 :(得分:0)

我认为这应该很简单。

_(\d)

在线演示https://regex101.com/r/kH1nE2/1

如果您需要更多数字,可以使用以下

_(\d+)

注意" +"它将匹配下划线后的1位或更多位数

答案 1 :(得分:0)

在这种情况下,甚至不需要正则表达式。

$n = "ABC01-001-M-001_0.dwg";
Echo intval(explode("_", $n)[1]); // 0

https://3v4l.org/fBXc5

看来你正在寻找一个javascript解决方案?

var n = "ABC01-001-M-001_0.dwg";
var int = parseInt(n.split("_")[1]);

不确定它是否真的有效,因为我不是在用javascript编写,但^^是我可以谷歌的功能。
也许是有效的,也许不是。

似乎工作:-)
https://jsfiddle.net/w9x7d40f/

答案 2 :(得分:0)

pushpraj 答案几乎是正确的。我认为你不想看到下划线。

所以(?<=_)(\d+)是正确的选择。 (?<=_)表示,下划线必须位于您想要的模式前面,但不包括在内。

演示:https://regex101.com/r/kH1nE2/2