正規式的定義及使用方法(轉自正規式)
設∑是有窮字母表,並定義輔助字母表∑’={Φ, ε, | , . , *, (, )}
- ε,Φ都是∑上的正規式,它們所表示的正規集為{ε}, Φ ;
 - 任何a是一個正規式,若a∈∑,它所表示的正規集為{a};
 - 如果R1和R2是正規式,它們表示的正規集分別為L1和L2,則 R1|R2 , R1·R2 , R1* , (R1) 也是正規式,並且它們所表示的正規集分別為L1∪L2 ;L1L2;L1* ; L1
 - 僅有有限次使用上述三步驟而定義的表達式才是∑上的正規式,僅有這些正規式表示的字集才是∑上的正規集。
 
注意:不要混淆Φ和ε,正規表達式ε描述的語言只含一個空字符串ε,而Φ表示的語言不含有任何字符串。 程序設計語言的單詞都能用正規式來定義。若兩個正規式e1,e2表示的正規集相同,則稱它們等價。記作:e1=e2。
例 : 令∑={a,b},則∑上的正規式和相應正規集為
| 正規式 | 正規集 | 
|---|---|
| a | {a} | 
| a|b | {a,b} | 
| ab | {ab} | 
| (a|b)(a|b) | {aa,ab,ba,bb} | 
| a * | {ε ,a,aa, ……任意個a的串} | 
| (a|b)* | {ε ,a,aa, ……任意個a的串}{ε ,a,b,aa,ab,bb ……所有由 a和b組成的串} | 
| (a|b)* (aa|bb)(a|b)* | ∑上所有含有兩個相繼的a或兩個相繼的b組成的串} | 
正則表達式的定義和用法
正則表達式是對字符串(包括普通字符(例如,a 到 z 之間的字母)和特殊字符(稱為“元字符”))操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個“規則字符串”,這個“規則字符串”用來表達對字符串的一種過濾邏輯。正則表達式是一種文本模式,模式描述在搜索文本時要匹配的一個或多個字符串。
          給定一個正則表達式和另一個字符串,我們可以達到如下的目的: 
        
 
        
            1. 給定的字符串是否符合正則表達式的過濾邏輯(稱作“匹配”): 
        
 
        
            2. 可以通過正則表達式,從字符串中獲取我們想要的特定部分。 
        
 
        
          異同(轉自 
         【JavaScript】正則表達式 VS 正規式) 
        
 
        
           1)相同點 
         
 
         
               都是一種模式,用來匹配驗證的一種規則。 
         
 
         
              (2)不同點 
         
 
         
                 正規式:多和有限自動機相互轉換,來判斷是否和相應的輸入輸出對應。 
         
 
         
               正則表達式:多用於輸入的驗證,在客戶端輸入的時候就去驗證輸入的東西是否符合要求,大大減少了后台的判斷。 
         
 
        