(regex) added nonexhaustive tables for regex
This commit is contained in:
@@ -0,0 +1,102 @@
|
||||
# regular expressions
|
||||
|
||||
What regular expression do tools use?
|
||||
|
||||
| **tool** | **regular expression type** |
|
||||
|:----------|:------------------------------|
|
||||
| *awk* | extended posix |
|
||||
| csplit | basic posix |
|
||||
| dbx | basic posix |
|
||||
| dbxtool | basic posix |
|
||||
| ed | basic posix |
|
||||
| egrep | extended posix |
|
||||
| emacs | emacs regular expression |
|
||||
| expr | basic posix |
|
||||
| *grep* | basic posix |
|
||||
| lex | basic posix |
|
||||
| more | basic posix |
|
||||
| nawk | extended posix |
|
||||
| nl | basic posix |
|
||||
| perl | perl regular expression |
|
||||
| pg | basic posix |
|
||||
| rdist | basic posix |
|
||||
| *sed* | basic posix |
|
||||
| *ugrep* | extended posix |
|
||||
| vi | basic posix |
|
||||
|
||||
|
||||
# basic **posix** regular expression
|
||||
|
||||
..
|
||||
|
||||
|
||||
# (extended) **posix** regular expression
|
||||
|
||||
+---------------+-----------+---------------+---------------------------+
|
||||
| **character** | **class** | **type** | **description** |
|
||||
+:==============+:==========+:==============+:==========================+
|
||||
| `.` | all | character set | match any character |
|
||||
| | | | (except newline) |
|
||||
+---------------+-----------+---------------+---------------------------+
|
||||
| `^` | all | anchor | start of line |
|
||||
+---------------+-----------+---------------+---------------------------+
|
||||
| `$` | all | anchor | end of line |
|
||||
+---------------+-----------+---------------+---------------------------+
|
||||
| `[...]` | all | character set | list/range of characters |
|
||||
+---------------+-----------+---------------+---------------------------+
|
||||
| `*` | all | quantifier | zero or more occurences |
|
||||
+---------------+-----------+---------------+---------------------------+
|
||||
| `\<` | all | anchor | start of word |
|
||||
+---------------+-----------+---------------+---------------------------+
|
||||
| `\>` | all | anchor | end of word |
|
||||
+---------------+-----------+---------------+---------------------------+
|
||||
| `\(..\)` | all | backreference | remember pattern for |
|
||||
| | | | referencing (positional) |
|
||||
+---------------+-----------+---------------+---------------------------+
|
||||
| `\1..\9` | all | reference | reference to numbered |
|
||||
| | | | pattern (positional) |
|
||||
+---------------+-----------+---------------+---------------------------+
|
||||
+---------------+-----------+---------------+---------------------------+
|
||||
| `+` | extended | quantifier | one or more occurences |
|
||||
+---------------+-----------+---------------+---------------------------+
|
||||
| `?` | extended | quantifier | zero or one occurence |
|
||||
+---------------+-----------+---------------+---------------------------+
|
||||
| `\{M,N\}` | extended | quantifier | M to N occurences |
|
||||
+---------------+-----------+---------------+---------------------------+
|
||||
| `(...|...)` | extended | pattern | match multiple patterns |
|
||||
+---------------+-----------+---------------+---------------------------+
|
||||
|
||||
|
||||
# posix character sets
|
||||
|
||||
+-------------------+---------------------------------------------------+
|
||||
| **character set** | **description** |
|
||||
+-------------------+---------------------------------------------------+
|
||||
| `[:alnum:]` | alphanumeric characters |
|
||||
+-------------------+---------------------------------------------------+
|
||||
| `[:ascii:]` | ascii characters |
|
||||
+-------------------+---------------------------------------------------+
|
||||
| `[:cntrl:]` | control characters (0x00..0x1F, 0x7F) |
|
||||
+-------------------+---------------------------------------------------+
|
||||
| `[:lower:]` | lower case letters |
|
||||
+-------------------+---------------------------------------------------+
|
||||
| `[:upper:]` | upper case letters |
|
||||
+-------------------+---------------------------------------------------+
|
||||
| `[:space:]` | whitespace characters including line breaks |
|
||||
+-------------------+---------------------------------------------------+
|
||||
| `[:alpha:]` | letters |
|
||||
+-------------------+---------------------------------------------------+
|
||||
| `[:digit:]` | digits |
|
||||
+-------------------+---------------------------------------------------+
|
||||
| `[:print:]` | printable characters, anything except control |
|
||||
| | characters |
|
||||
+-------------------+---------------------------------------------------+
|
||||
| `[:blank:]` | space and tabulator |
|
||||
+-------------------+---------------------------------------------------+
|
||||
| `[:graph:]` | visible characters, anything except control |
|
||||
| | characters and whitespace |
|
||||
+-------------------+---------------------------------------------------+
|
||||
| `[:punct:]` | punctuation characters (and symbols) |
|
||||
+-------------------+---------------------------------------------------+
|
||||
| `[:xdigit:]` | hexadecimal digits |
|
||||
+-------------------+---------------------------------------------------+
|
||||
Reference in New Issue
Block a user