Posix character classes uso de una notación [:alpha:]
, que se utilizan dentro de una expresión regular como:
/[[:alpha:][:digit:]]/
Tendrá que desplazarse hacia abajo lejos para llegar a la información Posix en el enlace anterior. De los documentos:
Las expresiones de corchetes POSIX también son similares a las clases de caracteres. Proporcionan una alternativa portátil a las anteriores, con la ventaja adicional de que abarcan caracteres que no son ASCII. Por ejemplo,/\ d/coincide solo con los dígitos decimales ASCII (0-9); mientras que/[[: digit:]]/coincide con cualquier carácter en la categoría Unicode Nd.
/[[:alnum:]]/ - Alphabetic and numeric character
/[[:alpha:]]/ - Alphabetic character
/[[:blank:]]/ - Space or tab
/[[:cntrl:]]/ - Control character
/[[:digit:]]/ - Digit
/[[:graph:]]/ - Non-blank character (excludes spaces, control characters, and similar)
/[[:lower:]]/ - Lowercase alphabetical character
/[[:print:]]/ - Like [:graph:], but includes the space character
/[[:punct:]]/ - Punctuation character
/[[:space:]]/ - Whitespace character ([:blank:], newline,
carriage return, etc.)
/[[:upper:]]/ - Uppercase alphabetical
/[[:xdigit:]]/ - Digit allowed in a hexadecimal number (i.e., 0-9a-fA-F)
Rubí también es compatible con las siguientes clases que no son de carácter POSIX:
/[[:word:]]/ - A character in one of the following Unicode general categories Letter, Mark, Number, Connector_Punctuation
/[[:ascii:]]/ - A character in the ASCII character set
# U+06F2 is "EXTENDED ARABIC-INDIC DIGIT TWO"
/[[:digit:]]/.match("\u06F2") #=> #<MatchData "\u{06F2}">
/[[:upper:]][[:lower:]]/.match("Hello") #=> #<MatchData "He">
/[[:xdigit:]][[:xdigit:]]/.match("A6") #=> #<MatchData "A6">
he creado [ampliar-corchetes] (https://www.npmjs.com/package/ ampliar-corchetes), si le interesa ver una implementación de javascript que coincida con las clases de caracteres de posix – jonschlinkert