# Filename
> [Regular expression][mdn-regexp] to split a [POSIX][posix] filename.
## Usage
```javascript
var reFilenamePosix = require( '@stdlib/regexp/filename-posix' );
```
#### reFilenamePosix()
Returns a [regular expression][mdn-regexp] to split a [POSIX][posix] filename.
```javascript
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][mdn-regexp] to split a [POSIX][posix] filename.
```javascript
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][mdn-regexp] does **not** capture the basename as a filename extension.
```javascript
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
```javascript
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',
''
]
*/
```
[mdn-regexp]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
[posix]: https://en.wikipedia.org/wiki/POSIX