[英]Regex extract string after the second “.” dot character at the end of a string
我想提取文件名的第二個“文件擴展名”,以便:
/Users/path/my-path/super.lol.wtf/main.config.js
我需要的是:
.config.js
如果我得到一個包含2個字符串的數組,那將是多么令人敬畏:
var output = ['main', '.config.js'];
我嘗試過的:
^(\d+\.\d+\.)
但這不起作用。
謝謝
您可以使用以下內容:
([^\/.\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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.