当前位置:  开发笔记 > 编程语言 > 正文

正则表达式提取字符串后的第二个"." 字符串末尾的点字符

如何解决《正则表达式提取字符串后的第二个"."字符串末尾的点字符》经验,为你挑选了1个好方法。

我想提取文件名的第二个"文件扩展名",以便:

/Users/path/my-path/super.lol.wtf/main.config.js

我需要的是:

.config.js

如果我得到一个包含2个字符串的数组,那将是多么令人敬畏:

var output = ['main', '.config.js'];

我尝试过的:

^(\d+\.\d+\.)

但这不起作用.

谢谢



1> Josh Crozier..:

您可以使用以下内容:

([^\/.\s]+)(\.[^\/\s]+)$

这里的例子

([^\/.\s]+)- 捕获组,不包括字符/.字面以及任何空格字符一次或多次.

(\.[^\/\s]+) - 与上面的表达相似; 捕获从.字符开始的组; 排除字符/.字面以及任何空格字符一次或多次.

$ - 结束


或者,您也可以使用以下内容:

(?:.*\/|^)([^\/.\s]+)(\.[^\/\s]+)$

这里的例子

(?:.*\/|^) - 与上面的表达式相同,但这会缩小匹配范围以减少步数.它是一个非捕获组,可以匹配行的开头或/字符.


第一个表达式更短,但第二个表达式具有更好的性能.

两个表达式都匹配以下内容:

['main', '.config.js']

在以下各项中:

/Users/path/my-path/some.other.ext/main.config.js
some.other.ext/main.config.js
main.config.js

推荐阅读
依然-狠幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有