# Filename
> [Regular expression][mdn-regexp] to split a Windows filename.
## Usage
```javascript
var reFilenameWindows = require( '@stdlib/regexp/filename-windows' );
```
#### reFilenameWindows()
Returns a [regular expression][mdn-regexp] to split a Windows filename.
```javascript
var RE_FILENAME_WINDOWS = reFilenameWindows();
var parts = RE_FILENAME_WINDOWS.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
]
*/
```
#### reFilenameWindows.REGEXP
[Regular expression][mdn-regexp] to split a Windows filename.
```javascript
var parts = reFilenameWindows.REGEXP.exec( 'C:\\foo\\bar\\home.html' ).slice();
/* returns
[
'C:\\foo\\bar\\home.html',
'C:'
'\\',
'foo\\bar\\',
'home.html',
'.html'
]
*/
```
## 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 = reFilenameWindows.REGEXP.exec( '.bash_profile' ).slice();
/* returns
[
'.bash_profile',
'',
'',
'',
'.bash_profile',
''
]
*/
parts = reFilenameWindows.REGEXP.exec( '.travis.yml' ).slice();
/* returns
[
'.travis.yml',
'',
'',
'',
'.travis.yml',
'.yml'
]
*/
```
## Examples
```javascript
var reFilenameWindows = require( '@stdlib/regexp/filename-windows' );
var RE_FILENAME_WINDOWS = reFilenameWindows();
var parts = RE_FILENAME_WINDOWS.exec( 'index.js' ).slice();
/* returns
[
'index.js',
'',
'',
'',
'index.js',
'.js'
]
*/
parts = RE_FILENAME_WINDOWS.exec( 'C:\\foo\\bar\\home.html' ).slice();
/* returns
[
'C:\\foo\\bar\\home.html',
'C:',
'\\',
'foo\\bar\\',
'home.html',
'.html'
]
*/
parts = RE_FILENAME_WINDOWS.exec( 'foo\\file.pdf' ).slice();
/* returns
[
'foo\\file.pdf',
'',
'',
'foo\\',
'file.pdf',
'.pdf'
]
*/
parts = RE_FILENAME_WINDOWS.exec( 'beep\\boop.' ).slice();
/* returns
[
'beep\\boop.',
'',
'',
'beep\\',
'boop.',
'.'
]
*/
parts = RE_FILENAME_WINDOWS.exec( '' ).slice();
/* returns
[
'',
'',
'',
'',
'',
''
]
*/
parts = RE_FILENAME_WINDOWS.exec( '\\foo\\bar\\file' ).slice();
/* returns
[
'\\foo\\bar\\file',
'',
'\\',
'foo\\bar\\',
'file',
''
]
*/
parts = RE_FILENAME_WINDOWS.exec( 'C:\\foo\\bar\\.gitignore' ).slice();
/* returns
[
'C:\\foo\\bar\\.gitignore',
'C:',
'\\',
'foo\\bar\\',
'.gitignore',
''
]
*/
```
[mdn-regexp]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions