1 | # is-extglob [](https://www.npmjs.com/package/is-extglob) [](https://npmjs.org/package/is-extglob) [](https://travis-ci.org/jonschlinkert/is-extglob)
|
2 |
|
3 | > Returns true if a string has an extglob.
|
4 |
|
5 | ## Install
|
6 |
|
7 | Install with [npm](https://www.npmjs.com/):
|
8 |
|
9 | ```sh
|
10 | $ npm install --save is-extglob
|
11 | ```
|
12 |
|
13 | ## Usage
|
14 |
|
15 | ```js
|
16 | var isExtglob = require('is-extglob');
|
17 | ```
|
18 |
|
19 | **True**
|
20 |
|
21 | ```js
|
22 | isExtglob('?(abc)');
|
23 | isExtglob('@(abc)');
|
24 | isExtglob('!(abc)');
|
25 | isExtglob('*(abc)');
|
26 | isExtglob('+(abc)');
|
27 | ```
|
28 |
|
29 | **False**
|
30 |
|
31 | Escaped extglobs:
|
32 |
|
33 | ```js
|
34 | isExtglob('\\?(abc)');
|
35 | isExtglob('\\@(abc)');
|
36 | isExtglob('\\!(abc)');
|
37 | isExtglob('\\*(abc)');
|
38 | isExtglob('\\+(abc)');
|
39 | ```
|
40 |
|
41 | Everything else...
|
42 |
|
43 | ```js
|
44 | isExtglob('foo.js');
|
45 | isExtglob('!foo.js');
|
46 | isExtglob('*.js');
|
47 | isExtglob('**/abc.js');
|
48 | isExtglob('abc/*.js');
|
49 | isExtglob('abc/(aaa|bbb).js');
|
50 | isExtglob('abc/[a-z].js');
|
51 | isExtglob('abc/{a,b}.js');
|
52 | isExtglob('abc/?.js');
|
53 | isExtglob('abc.js');
|
54 | isExtglob('abc/def/ghi.js');
|
55 | ```
|
56 |
|
57 | ## History
|
58 |
|
59 | **v2.0**
|
60 |
|
61 | Adds support for escaping. Escaped exglobs no longer return true.
|
62 |
|
63 | ## About
|
64 |
|
65 | ### Related projects
|
66 |
|
67 | * [has-glob](https://www.npmjs.com/package/has-glob): Returns `true` if an array has a glob pattern. | [homepage](https://github.com/jonschlinkert/has-glob "Returns `true` if an array has a glob pattern.")
|
68 | * [is-glob](https://www.npmjs.com/package/is-glob): Returns `true` if the given string looks like a glob pattern or an extglob pattern… [more](https://github.com/jonschlinkert/is-glob) | [homepage](https://github.com/jonschlinkert/is-glob "Returns `true` if the given string looks like a glob pattern or an extglob pattern. This makes it easy to create code that only uses external modules like node-glob when necessary, resulting in much faster code execution and initialization time, and a bet")
|
69 | * [micromatch](https://www.npmjs.com/package/micromatch): Glob matching for javascript/node.js. A drop-in replacement and faster alternative to minimatch and multimatch. | [homepage](https://github.com/jonschlinkert/micromatch "Glob matching for javascript/node.js. A drop-in replacement and faster alternative to minimatch and multimatch.")
|
70 |
|
71 | ### Contributing
|
72 |
|
73 | Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).
|
74 |
|
75 | ### Building docs
|
76 |
|
77 | _(This document was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme) (a [verb](https://github.com/verbose/verb) generator), please don't edit the readme directly. Any changes to the readme must be made in [.verb.md](.verb.md).)_
|
78 |
|
79 | To generate the readme and API documentation with [verb](https://github.com/verbose/verb):
|
80 |
|
81 | ```sh
|
82 | $ npm install -g verb verb-generate-readme && verb
|
83 | ```
|
84 |
|
85 | ### Running tests
|
86 |
|
87 | Install dev dependencies:
|
88 |
|
89 | ```sh
|
90 | $ npm install -d && npm test
|
91 | ```
|
92 |
|
93 | ### Author
|
94 |
|
95 | **Jon Schlinkert**
|
96 |
|
97 | * [github/jonschlinkert](https://github.com/jonschlinkert)
|
98 | * [twitter/jonschlinkert](http://twitter.com/jonschlinkert)
|
99 |
|
100 | ### License
|
101 |
|
102 | Copyright © 2016, [Jon Schlinkert](https://github.com/jonschlinkert).
|
103 | Released under the [MIT license](https://github.com/jonschlinkert/is-extglob/blob/master/LICENSE).
|
104 |
|
105 | ***
|
106 |
|
107 | _This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.1.31, on October 12, 2016._ |
\ | No newline at end of file |