话不多说,这部分是作为之后某一篇文章的前置而出现的。
Lua 的 Pattern 和正则表达式有相似之处,但也有所不同。本文力图简短地介绍 Pattern 和可以用到 Pattern 的函数,为之后的使用打好基础。
回顾正则表达式
简单的正则表达式语法如下:
abc:表示匹配abca*:表示匹配零个或多个aa+:表示匹配一个或多个a[abc]:表示匹配a、b、c任一a{10,}:表示匹配 10~ 个aa?:表示可选匹配a\?:表示匹配?,此处使用\转义^$:表示开始和结束
对应的 Pattern
Lua 的 Pattern 是弱化版的正则表达式,但其也可以满足大部分需求了。
abc:表示匹配abca*:贪婪匹配零个或多个aa-:非贪婪匹配零个或多个aa+:表示匹配一个或多个a[abc]:表示匹配a、b、c任一a?:表示可选匹配a%?:表示匹配?,此处使用%转义^$:表示开始和结束
此外,还有一些额外的功能:
%n:匹配第n个捕获组,n为1-9%bxy:匹配xy平衡组,常用于括号平衡匹配