Update
This commit is contained in:
parent
dc1fe386df
commit
25bef6df75
10 changed files with 1741 additions and 1712 deletions
2
regex.md
2
regex.md
|
@ -10,6 +10,8 @@ Regular expressions are widely used in [Unix](unix.md) tools, [programming langu
|
|||
|
||||
From the point of view of [theoretical computer science](theoretical_compsci.md) and [formal languages](formal_language.md) **regular expressions are computationally weak**, they are equivalent to the weakest models of computations such as regular [grammars](grammar.md) or **[finite state machines](finite_state_machine.md)** -- in fact regular expressions are often implemented as finite state machines. This means that **regular expressions can NOT describe any possible pattern** (for example they can't capture a math expression with brackets in which start brackets have to match end brackets), only relatively simple ones; however it turns out that very many commonly encountered patterns are simple enough to be described this way, so we have a [good enough](good_enough.md) tool. The advantage of regular expressions is exactly that they are simple, yet very often sufficient.
|
||||
|
||||
**Are there yet simpler pattern describers than regular expressions?** Yes, of course, the simplest example is just a string directly describing the pattern, e.g. "abc" matching exactly just the string "abc" -- this is called a *fixed string*. Notable subclass of regular expressions are so called *star-free* languages/expressions which are regular expressions without the star (repetition) operator. Star-free expressions can be used as a [simpler](kiss.md) variant to regular expressions, they may still describe many patterns and are easier to implement.
|
||||
|
||||
## Details
|
||||
|
||||
WIP
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue