我想提取第二个"文件扩展名"文件名如此:
/Users/path/my-path/super.lol.wtf/main.config.js
我需要的是:
.config.js
如果我得到一个包含2个字符串的数组,那将是多么令人敬畏的事情:
var output = ['main', '.config.js'];
我尝试过:
^(\d+\.\d+\.)
但是那个工作。
由于
答案 0 :(得分:6)
您可以使用以下内容:
([^\/.\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
答案 1 :(得分:3)