Lua使用笔记—— 模式匹配

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jinsenianhua2012/article/details/82024967

1. string.gmatch(s, pattern)方法

返回一个迭代器函数,每次调用这个函数都会返回一个在字符串“s” 中查找到符合要求的子串,知道返回 nil.

lua 中支持的字符类:

%a: 与任何字母配对 
%c: 与任何控制符配对(例如\n) 
%d: 与任何数字配对 
%l: 与任何小写字母配对 
%p: 与任何标点(punctuation)配对 
%s: 与空白字符配对 
%u: 与任何大写字母配对 
%w: 与任何字母/数字配对 
%x: 与任何十六进制数配对 
%z: 与任何代表0的字符配对 
%x(此处x是非字母非数字字符): 与字符x配对. 主要用来处理表达式中有功能的字符(^$()%.[]*+-?)的配对问题, 例如%%与%配对 
[数个字符类]: 与任何[]中包含的字符类配对. 例如[%w_]与任何字母/数字, 或下划线符号(_)配对 
当上述的字符类用大写书写时, 表示与非此字符类的任何字符配对. 例如, %S表示与任何非空白字符配对.例如,’%A’非字母的字符

‘%’ 用作特殊字符的转义字符,因此 ‘%.’ 匹配点;’%%’ 匹配字符 ‘%’。转义字符 ‘%’不仅可以用来转义特殊字符,还可以用于所有的非字母的字符。当对一个字符有疑问的时候,为安全起见请使用转义字符转义他。

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

2. string.find(s, pattern) 方法

将查找目标模板在给定字符串中出现的位置,找到返回起始和结束位置,没找到返回nil

未完待续……

猜你喜欢

转载自blog.csdn.net/jinsenianhua2012/article/details/82024967
今日推荐