Skip to content

Commit 2238e66

Browse files
committed
Better table
1 parent 56baebd commit 2238e66

File tree

1 file changed

+56
-1
lines changed

1 file changed

+56
-1
lines changed

README.md

Lines changed: 56 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,59 @@ The eventual goal of this crate is to support all of the syntax in the [core Rus
3737
| |`\pN` | One-letter name Unicode character class |
3838
| |`\p{Greek}` | Unicode character class (general category or script) |
3939
| |`\PN` | Negated one-letter name Unicode character class |
40-
| |`\P{Greek}` | negated Unicode character class (general category or script) |
40+
| |`\P{Greek}` | negated Unicode character class (general category or script) |
41+
42+
### Perl Character Classes
43+
44+
| Implemented? | Expression | Description |
45+
| :---------------: | :--------: | :---------- |
46+
| `digit()` | `\d` | digit (\p{Nd}) |
47+
| `non_digit()` | `\D` | not digit |
48+
| `whitespace()` | `\s` | whitespace (\p{White_Space}) |
49+
| `non_whitespace()` | `\S` | not whitespace |
50+
| `word()` | `\w` | word character (\p{Alphabetic} + \p{M} + \d + \p{Pc} + \p{Join_Control}) |
51+
| `non_word()` | `\W` | not word character |
52+
53+
### ASCII Character Classes
54+
55+
| Implemented? | Expression | Description |
56+
| :---------------: | :------------: | :---------- |
57+
| | `[[:alnum:]]` | alphanumeric ([0-9A-Za-z]) |
58+
| | `[[:alpha:]]` | alphabetic ([A-Za-z]) |
59+
| | `[[:ascii:]]` | ASCII ([\x00-\x7F]) |
60+
| | `[[:blank:]]` | blank ([\t ]) |
61+
| | `[[:cntrl:]]` | control ([\x00-\x1F\x7F]) |
62+
| `digit()` | `[[:digit:]]` | digits ([0-9]) |
63+
| | `[[:graph:]]` | graphical ([!-~]) |
64+
| | `[[:lower:]]` | lower case ([a-z]) |
65+
| | `[[:print:]]` | printable ([ -~]) |
66+
| | `[[:punct:]]` | punctuation ([!-/:-@\[-`{-~]) |
67+
| | `[[:space:]]` | whitespace ([\t\n\v\f\r ]) |
68+
| | `[[:upper:]]` | upper case ([A-Z]) |
69+
| `word()` | `[[:word:]]` | word characters ([0-9A-Za-z_]) |
70+
| | `[[:xdigit:]]` | hex digit ([0-9A-Fa-f]) |
71+
72+
## Repetitions
73+
74+
| Implemented? | Expression | Description |
75+
| :---------------: | :------------: | :---------- |
76+
x* zero or more of x (greedy)
77+
x+ one or more of x (greedy)
78+
x? zero or one of x (greedy)
79+
x*? zero or more of x (ungreedy/lazy)
80+
x+? one or more of x (ungreedy/lazy)
81+
x?? zero or one of x (ungreedy/lazy)
82+
x{n,m} at least n x and at most m x (greedy)
83+
x{n,} at least n x (greedy)
84+
x{n} exactly n x
85+
x{n,m}? at least n x and at most m x (ungreedy/lazy)
86+
x{n,}? at least n x (ungreedy/lazy)
87+
x{n}? exactly n x
88+
89+
## Composites
90+
91+
| Implemented? | Expression | Description |
92+
| :---------------: | :------------: | :------------------------------ |
93+
| `+` | `xy` | concatenation (x followed by y) |
94+
| `or()` | `x\|y` | alternation (x or y, prefer x) |
95+

0 commit comments

Comments
 (0)