sfcode
An Online Competing and Development Environment
posix-character-classes NPM version NPM monthly downloads NPM total downloads Linux Build Status

POSIX character classes for creating regular expressions.

Install

Install with npm:

$ npm install --save posix-character-classes

Install with yarn:

$ yarn add posix-character-classes

Usage

var posix = require('posix-character-classes');
console.log(posix.alpha);
//=> 'A-Za-z'

POSIX Character classes

The POSIX standard supports the following classes or categories of charactersh (note that classes must be defined within brackets)[1]:

POSIX class Equivalent to Matches
[:alnum:] [A-Za-z0-9] digits, uppercase and lowercase letters
[:alpha:] [A-Za-z] upper- and lowercase letters
[:ascii:] [\x00-\x7F] ASCII characters
[:blank:] [ \t] space and TAB characters only
[:cntrl:] [\x00-\x1F\x7F] Control characters
[:digit:] [0-9] digits
[:graph:] [^[:cntrl:]] graphic characters (all characters which have graphic representation)
[:lower:] [a-z] lowercase letters
[:print:] [[:graph] ] graphic characters and space

| [:punct:] | [-!"#$%&'()*+,./:;<=>?@[]^_`{ | }~] | all punctuation characters (all graphic characters except letters and digits) | | [:space:] | [ \t\n\r\f\v] | all blank (whitespace) characters, including spaces, tabs, new lines, carriage returns, form feeds, and vertical tabs | | [:upper:] | [A-Z] | uppercase letters | | [:word:] | [A-Za-z0-9_] | word characters | | [:xdigit:] | [0-9A-Fa-f] | hexadecimal digits |

Examples

  • a[[:digit:]]b matches a0b, a1b, ..., a9b.
  • a[:digit:]b is invalid, character classes must be enclosed in brackets
  • [[:digit:]abc] matches any digit, as well as a, b, and c.
  • [abc[:digit:]] is the same as the previous, matching any digit, as well as a, b, and c
  • [^ABZ[:lower:]] matches any character except lowercase letters, A, B, and Z.

About

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.

Building docs

_(This project's readme.md is generated by verb, please don't edit the readme directly. Any changes to the readme must be made in the .verb.md readme template.)_

To generate the readme, run the following command:

$ npm install -g verbose/verb#dev verb-generate-readme && verb

Running tests

Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:

$ npm install && npm test

Author

Jon Schlinkert

License

Copyright © 2017, Jon Schlinkert. Released under the [MIT License](LICENSE).


This file was generated by verb-generate-readme, v0.5.0, on April 20, 2017.


<section class="footnotes">

  1. table and examples are based on the WikiBooks page for Regular Expressions/POSIX Basic Regular Expressions, which is available under the Creative Commons Attribution-ShareAlike License.

</section>