What is posix-character-classes?
The posix-character-classes npm package provides a set of regular expression character classes based on the POSIX standard. These character classes can be used to match specific sets of characters in strings, making it easier to write concise and readable regular expressions.
What are posix-character-classes's main functionalities?
Alphanumeric Characters
Matches any alphanumeric character (both letters and digits).
/[[:alnum:]]/
Alphabetic Characters
Matches any alphabetic character (both uppercase and lowercase letters).
/[[:alpha:]]/
Digits
Matches any digit (0-9).
/[[:digit:]]/
Whitespace Characters
Matches any whitespace character (spaces, tabs, newlines, etc.).
/[[:space:]]/
Lowercase Letters
Matches any lowercase letter (a-z).
/[[:lower:]]/
Uppercase Letters
Matches any uppercase letter (A-Z).
/[[:upper:]]/
Other packages similar to posix-character-classes
xregexp
XRegExp provides augmented (extended) regular expressions. It includes support for Unicode character classes, which can be used to achieve similar functionality to posix-character-classes. XRegExp is more feature-rich and supports additional regex enhancements.
regexgen
Regexgen generates regular expressions that match a set of strings. While it does not provide POSIX character classes, it can be used to create complex regular expressions programmatically, offering a different approach to regex construction.
re2
RE2 is a fast, safe, and thread-friendly alternative to backtracking regular expression engines like those used in JavaScript's native RegExp. It supports a subset of POSIX character classes and is designed for performance and safety.
posix-character-classes
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);
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:] | ``[-!"#$%&'()*+,./:;<=>?@[]^_`{ | }~]`` |
[: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
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.
This file was generated by verb-generate-readme, v0.5.0, on April 20, 2017.