regex-filename

1.0.0 • Public • Published

Split Filename

NPM version Build Status Coverage Status Dependencies

Regular expression to split a filename.

Installation

$ npm install regex-filename

Usage

var re = require( 'regex-filename' );

re

Regular expression to split a filename.

var parts;
 
// On a POSIX platform...
parts = re.exec( '/foo/bar/index.js' );
/*
    [
        '/foo/bar/index.js',   // input value
        '/',                   // root
        'foo/bar/',            // dirname
        'index.js',            // basename
        '.js'                  // extname
    ]
*/
 
// On a Windows platform...
parts = re.exec( 'C:\\foo\\bar\\index.js' );
/*
    [
        'C:\\foo\\bar\\index.js',   // input value
        'C:',                       // device
        '\\',                       // slash
        'foo\\bar\\',               // dirname
        'index.js',                 // basename
        '.js'                       // extname
    ]
*/

re.posix

Regular expression to split a POSIX filename.

re.win32

Regular expression to split a Windows filename.

Notes

  • The main exported regular expression is platform-dependent. If the current process is running on Windows, re === re.win32; otherwise, re === re.posix.

Examples

var re = require( 'regex-filename' );
 
var parts;
 
// Assuming a POSIX platform...
parts = re.exec( 'index.js' );
console.log( parts );
/*
    [
        'index.js',
        '',
        '',
        'index.js',
        '.js'
    ]
*/
 
parts = re.posix.exec( '/foo/bar/home.html' );
console.log( parts );
/*
    [
        '/foo/bar/home.html',
        '/',
        'foo/bar/',
        'home.html',
        '.html'
    ]
*/
 
parts = re.win32.exec( 'C:\\foo\\bar\\home.html' );
console.log( parts );
/*
    [
        'C:\\foo\\bar\\home.html',
        'C:',
        '\\',
        'foo\\bar\\',
        'home.html',
        '.html'
    ]
*/
 

To run the example code from the top-level application directory,

$ node ./examples/index.js

Tests

Unit

Unit tests use the Mocha test framework with Chai assertions. To run the tests, execute the following command in the top-level application directory:

$ make test

All new feature development should have corresponding unit tests to validate correct functionality.

Test Coverage

This repository uses Istanbul as its code coverage tool. To generate a test coverage report, execute the following command in the top-level application directory:

$ make test-cov

Istanbul creates a ./reports/coverage directory. To access an HTML version of the report,

$ make view-cov

License

MIT license.

Copyright

Copyright © 2015. Athan Reines.

Package Sidebar

Install

npm i regex-filename

Weekly Downloads

1

Version

1.0.0

License

MIT

Last publish

Collaborators

  • kgryte