reFilenameWindows
Regular expression to split a Windows filename.
Usage
var reFilenameWindows = require( '@stdlib/regexp/filename-windows' );
reFilenameWindows()
Returns a regular expression to split a Windows filename.
var RE_FILENAME_WINDOWS = reFilenameWindows();
var parts = RE_FILENAME_WINDOWS.exec( 'C:\\foo\\bar\\index.js' ).slice();
/* returns
[
'C:\\foo\\bar\\index.js', // input value
'C:', // device
'\\', // slash
'foo\\bar\\', // dirname
'index.js', // basename
'.js' // extname
]
*/
reFilenameWindows.REGEXP
Regular expression to split a Windows filename.
var parts = reFilenameWindows.REGEXP.exec( 'C:\\foo\\bar\\home.html' ).slice();
/* returns
[
'C:\\foo\\bar\\home.html',
'C:'
'\\',
'foo\\bar\\',
'home.html',
'.html'
]
*/
Notes
When executed against dotfile filenames (e.g.,
.gitignore
), the regular expression does not capture the basename as a filename extension.var parts = reFilenameWindows.REGEXP.exec( '.bash_profile' ).slice(); /* returns [ '.bash_profile', '', '', '', '.bash_profile', '' ] */ parts = reFilenameWindows.REGEXP.exec( '.travis.yml' ).slice(); /* returns [ '.travis.yml', '', '', '', '.travis.yml', '.yml' ] */
Examples
var reFilenameWindows = require( '@stdlib/regexp/filename-windows' );
var RE_FILENAME_WINDOWS = reFilenameWindows();
var parts = RE_FILENAME_WINDOWS.exec( 'index.js' ).slice();
/* returns
[
'index.js',
'',
'',
'',
'index.js',
'.js'
]
*/
parts = RE_FILENAME_WINDOWS.exec( 'C:\\foo\\bar\\home.html' ).slice();
/* returns
[
'C:\\foo\\bar\\home.html',
'C:',
'\\',
'foo\\bar\\',
'home.html',
'.html'
]
*/
parts = RE_FILENAME_WINDOWS.exec( 'foo\\file.pdf' ).slice();
/* returns
[
'foo\\file.pdf',
'',
'',
'foo\\',
'file.pdf',
'.pdf'
]
*/
parts = RE_FILENAME_WINDOWS.exec( 'beep\\boop.' ).slice();
/* returns
[
'beep\\boop.',
'',
'',
'beep\\',
'boop.',
'.'
]
*/
parts = RE_FILENAME_WINDOWS.exec( '' ).slice();
/* returns
[
'',
'',
'',
'',
'',
''
]
*/
parts = RE_FILENAME_WINDOWS.exec( '\\foo\\bar\\file' ).slice();
/* returns
[
'\\foo\\bar\\file',
'',
'\\',
'foo\\bar\\',
'file',
''
]
*/
parts = RE_FILENAME_WINDOWS.exec( 'C:\\foo\\bar\\.gitignore' ).slice();
/* returns
[
'C:\\foo\\bar\\.gitignore',
'C:',
'\\',
'foo\\bar\\',
'.gitignore',
''
]
*/