目录

Lua正则表达式备忘

查找示例

1
local _, _, ver = string.find(uboot_data, 'U-Boot (%d+%.%d+%.%d+) %(')

Lua支持的字符类

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
. 任意字符
%s 空白符
%p 标点字符
%c 控制字符
%d 数字
%x 十六进制数字
%z 代表0的字符
%a 字母
%l 小写字母
%u 大写字母
%w 字母和数字
上面字符类的大写形式表示小写所代表的集合的补集。例如,'%A'非字母的字符:

模式修饰符
+ 匹配前一字符1次或多次
* 匹配前一字符0次或多次;最长匹配  -- 先尽可能长地把本次匹配模式走完,再继续下一个模式,
- 匹配前一字符0次或多次;最短匹配  -- 本次匹配模式每走一步,就考查下一个模式能否进入.
? 匹配前一字符0次或1次
^ 匹配字符串开头
$ 匹配字符串结尾

备忘

  • 模式中.号用%.表示,而不是用\.