1. 程式人生 > >Lua中string.gmatch方法

Lua中string.gmatch方法

下面的表列出了Lua支援的所有字元類:

字元類:(character classes)
. all characters
%a letters
%c control characters
%d digits
%l lower -case letters
%p punctuation characters
%s space characters
%u upper-case letters
%w alphanumeric characters
%x hexadecimal digits
%z the character whose representation is 0

單個字元(除^$()%.[]*+-?外): 與該字元自身配對

.(點): 與任何字元配對
%a: 與任何字母配對
%c: 與任何控制符配對(例如\n)
%d: 與任何數字配對
%l: 與任何小寫字母配對
%p: 與任何標點(punctuation)配對
%s: 與空白字元配對
%u: 與任何大寫字母配對
%w: 與任何字母/數字配對
%x: 與任何十六進位制數配對
%z: 與任何代表0的字元配對
%x(此處x是非字母非數字字元): 與字元x配對. 主要用來處理表達式中有功能的字元(^$()%.[]*+-?)的配對問題, 例如%%與%配對
[數個字元類]: 與任何[]中包含的字元類配對. 例如[%w_]與任何字母/數字, 或下劃線符號(_)配對
當上述的字元類用大寫書寫時, 表示與非此字元類的任何字元配對. 例如, %S表示與任何非空白字元配對.例如,’%A’非字母的字元

‘%’ 用作特殊字元的轉義字元,因此 ‘%.’ 匹配點;’%%’ 匹配字元 ‘%’。轉義字元 ‘%’不僅可以用來轉義特殊字元,還可以用於所有的非字母的字元。當對一個字元有疑問的時候,為安全起見請使用轉義字元轉義他。

+ 匹配前一字元1次或多次
* 匹配前一字元0次或多次
- 匹配前一字元0次或多次
? 匹配前一字元0次或1次