3.9 KiB
3.9 KiB
Filename
Regular expression to split a POSIX filename.
Usage
var reFilenamePosix = require( '@stdlib/regexp/filename-posix' );
reFilenamePosix()
Returns a regular expression to split a POSIX filename.
var RE_FILENAME_POSIX = reFilenamePosix();
var parts = RE_FILENAME_POSIX.exec( '/foo/bar/index.js' ).slice();
/* returns
[
'/foo/bar/index.js', // input value
'/', // root
'foo/bar/', // dirname
'index.js', // basename
'.js' // extname
]
*/
reFilenamePosix.REGEXP
Regular expression to split a POSIX filename.
var parts = reFilenamePosix.REGEXP.exec( '/foo/bar/index.js' ).slice();
/* returns
[
'/foo/bar/index.js', // input value
'/', // root
'foo/bar/', // dirname
'index.js', // basename
'.js' // extname
]
*/
Notes
-
When executed against dotfile filenames (e.g.,
.gitignore
), the regular expression does not capture the basename as a filename extension.var parts = reFilenamePosix.REGEXP.exec( '.bash_profile' ).slice(); /* returns [ '.bash_profile', '', '', '.bash_profile', '' ] */ parts = reFilenamePosix.REGEXP.exec( '.travis.yml' ).slice(); /* returns [ '.travis.yml', '', '', '.travis.yml', '.yml' ] */
Examples
var reFilenamePosix = require( '@stdlib/regexp/filename-posix' );
var RE_FILENAME_POSIX = reFilenamePosix();
var parts = RE_FILENAME_POSIX.exec( 'index.js' ).slice();
/* returns
[
'index.js',
'',
'',
'index.js',
'.js'
]
*/
parts = RE_FILENAME_POSIX.exec( '/foo/bar/home.html' ).slice();
/* returns
[
'/foo/bar/home.html',
'/',
'foo/bar/',
'home.html',
'.html'
]
*/
parts = RE_FILENAME_POSIX.exec( 'foo/file.pdf' ).slice();
/* returns
[
'foo/file.pdf',
'',
'foo/',
'file.pdf',
'.pdf'
]
*/
parts = RE_FILENAME_POSIX.exec( 'beep/boop.' ).slice();
/* returns
[
'beep/boop.',
'',
'beep/',
'boop.',
'.'
]
*/
parts = RE_FILENAME_POSIX.exec( '' ).slice();
/* returns
[
'',
'',
'',
'',
''
]
*/
parts = RE_FILENAME_POSIX.exec( '/foo/bar/file' ).slice();
/* returns
[
'/foo/bar/file',
'/',
'foo/bar/',
'file',
''
]
*/
parts = RE_FILENAME_POSIX.exec( '/foo/bar/.gitignore' ).slice();
/* returns
[
'/foo/bar/.gitignore',
'/',
'foo/bar/',
'.gitignore',
''
]
*/