|  | ||
|---|---|---|
| .. | ||
| docs | ||
| lib | ||
| package.json | ||
| README.md | ||
Filename
Regular expression to split a filename.
Usage
var reFilename = require( '@stdlib/regexp/filename' );
reFilename( [platform] )
Returns a regular expression to split a filename.
var RE = reFilename();
// returns <RegExp>
RE = reFilename( 'posix' );
// returns <RegExp>
var parts = RE.exec( '/foo/bar/index.js' ).slice();
/* returns
    [
        '/foo/bar/index.js',  // input value
        '/',                  // root
        'foo/bar/',           // dirname
        'index.js',           // basename
        '.js'                 // extname
    ]
*/
RE = reFilename( 'win32' );
// returns <RegExp>
parts = RE.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
    ]
*/
reFilename.REGEXP
Regular expression to split a filename.
var bool = ( reFilename.REGEXP.toString() === reFilename().toString() );
// returns true
reFilename.REGEXP_POSIX
Regular expression to split a POSIX filename.
var parts = reFilename.REGEXP_POSIX.exec( '/foo/bar/index.js' ).slice();
/* returns
    [
        '/foo/bar/index.js',  // input value
        '/',                  // root
        'foo/bar/',           // dirname
        'index.js',           // basename
        '.js'                 // extname
    ]
*/
reFilename.REGEXP_WIN32
Regular expression to split a Windows filename.
var parts = reFilename.REGEXP_WIN32.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
    ]
*/
Notes
- The as REGEXPexported regular expression is platform-dependent. If the current process is running on Windows,REGEXP === REGEXP_WIN32; otherwise,REGEXP === REGEXP_POSIX.
Examples
var reFilename = require( '@stdlib/regexp/filename' );
var RE_FILENAME = reFilename();
// Assuming a POSIX platform...
var parts = RE_FILENAME.exec( '/foo/bar/index.js' ).slice();
/* returns
    [
        '/foo/bar/index.js',
        '/',
        'foo/bar/',
        'index.js',
        '.js'
    ]
*/
parts = reFilename.REGEXP_POSIX.exec( '/foo/bar/home.html' ).slice();
/* returns
    [
        '/foo/bar/home.html',
        '/',
        'foo/bar/',
        'home.html',
        '.html'
    ]
*/
parts = reFilename.REGEXP_WIN32.exec( 'C:\\foo\\bar\\home.html' ).slice();
/* returns
    [
        'C:\\foo\\bar\\home.html',
        'C:',
        '\\',
        'foo\\bar\\',
        'home.html',
        '.html'
    ]
*/