正則表達式

正則表達式，係指一種描述想搵乜嘢特定嘅字串嘅一種公式，用呢種公式可以喺一段字符當中搵出某串特定嘅字符，好似係
^The
end$
^The end$
... 呀噉。

狹義上，正則表達式指喺1951年由數學家 Stephen Cole Kleene 發明嘅版本，喺呢個版本嘅正則表達式，淨係有串連、分組、交替同重複。意思同而今一般嘅理解有啲唔同，亦都唔係用來搵字串。狹義嘅正則表達式嘅數學基礎係集，而佢描述嘅其實係有限狀態機，而且對應嘅係決定性有限狀態機。

廣義上，喺現實當中實際用嘅正則表達式好多時都加入咗好多非決定性嘅元素同其他功能，狹義上並唔 ｢正則｣。現實中經常用到嘅正則表達式包括寫咗入 ISO/IEC 9945-2標準嘅嗰幾種、Perl 自己嘅嗰套同衍生出來嘅 ｢Perl 相容正則表達式｣、同 Javascript 嘅正則表達式等等。

並唔係所有搵字串嘅公式都係正則表達式。例如 Microsoft Word 嘅所謂 ｢萬用字元｣功能同 Lua 嘅搵字串功能都冇 ｢交替｣，所以唔係正則表達式。

應用

建立語義網絡

Regex 可以攞嚟幫手建立語義網絡。

淨係上位詞同下位詞嘅關係，已經可以由某啲形式嘅短語透露，例如如果「X 同第啲 Y」噉嘅短語成日出現，噉 Y 就應該係 X 嘅上位詞：
「蝴蝶同第啲昆蟲」；
「水同第啲液體」；
「鐵同第啲金屬」；
... 呀噉。

鍵盤側錄
Natural Language Toolkit

攷

演算法