永发信息网

正则表达式 只取点最后一个.后面的内容

答案:1  悬赏:30  手机版
解决时间 2021-01-03 07:53
  • 提问者网友:鐵馬踏冰河
  • 2021-01-02 22:47
标题内容是

VisualSVN-Server-2.7.8.msi

12312er-2.3.2.7.8.doc

Vis2.7.8.exe


原正则表达式
(?<=).*?(?=
)
获取的内容
VisualSVN-Server-2.7.8.msi

12312er-2.3.2.7.8.doc

Vis2.7.8.exe

现在的问题是,我只需要获取最后一个标点.后面的内容.msi 这个值.doc或者.exe
其中 前面的内容和最后一个.后面的后缀名字都是随机的、

现在只想取最后一个.后面的值正则应该怎么写,谢谢
最佳答案
  • 五星知识达人网友:逃夭
  • 2021-01-02 23:29



正则表达式 (?<=).*?(\..+?)+(?=)

我给你一个PHP语言的例子,你看看吧.
VisualSVN-Server-2.7.8.msi 
12312er-2.3.2.7.8.doc 
Vis2.7.8.exe 
';
preg_match_all ('/(?<=).*?(\..+?)+(?=)/i', $str, $matches);

for ($i=0; $i echo $matches[1][$i]."\n";
}
?> 

运行结果
.msi 
.doc 
.exe其实,也可以用正则表达式 .*?(\..+?)+

我给你一个Javascript语言的例子,你看看吧.


运行结果
.msi 
.doc 
.exe
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯