regex-filename-windows
v1.0.0
Published
Regular expression to split a Windows filename.
Downloads
11
Maintainers
Readme
Split Filename
Regular expression to split a Windows filename.
Installation
$ npm install regex-filename-windows
Usage
var re = require( 'regex-filename-windows' );
re
Regular expression to split a Windows filename.
var 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
]
*/
Notes
When executed against dotfile filenames (e.g.,
.gitignore
), the regular expression does not capture the basename as a filename extension.var parts = re.exec( '.gitignore' ); /* [ '.gitignore', '', '', '', '.gitignore', '' ] */ parts = re.exec( '.travis.yml' ); /* [ '.travis.yml', '', '', '', '.travis.yml', '.yml' ] */
Examples
var re = require( 'regex-filename-windows' );
var parts;
parts = re.exec( 'index.js' );
/*
[
'index.js',
'',
'',
'',
'index.js',
'.js'
]
*/
parts = re.exec( 'C:\\foo\\bar\\home.html' );
/*
[
'C:\\foo\\bar\\home.html',
'C:'
'\\',
'foo\\bar\\',
'home.html',
'.html'
]
*/
parts = re.exec( 'foo\\file.pdf' );
/*
[
'foo\\file.pdf',
'',
'',
'foo\\',
'file.pdf',
'.pdf'
]
*/
parts = re.exec( 'beep\\boop.' );
/*
[
'beep\\boop.',
'',
'',
'beep\\',
'boop.',
'.'
]
*/
parts = re.exec( '' );
/*
[
'',
'',
'',
'',
'',
''
]
*/
parts = re.exec( '\\foo\\bar\\file' );
/*
[
'\\foo\\bar\\file',
'',
'\\',
'foo\\bar\\',
'file',
''
]
*/
parts = re.exec( 'C:\\foo\\bar\\.gitignore' );
/*
[
'C:\\foo\\bar\\.gitignore',
'C:',
'\\',
'foo\\bar\\',
'.gitignore',
''
]
*/
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
Copyright
Copyright © 2015. Athan Reines.