(o・∇・o)
(o・∇・o)
Lua Pattern 简介

话不多说,这部分是作为之后某一篇文章的前置而出现的。

Lua 的 Pattern 和正则表达式有相似之处,但也有所不同。本文力图简短地介绍 Pattern 和可以用到 Pattern 的函数,为之后的使用打好基础。


回顾正则表达式

简单的正则表达式语法如下:

  • abc:表示匹配 abc
  • a*:表示匹配零个或多个 a
  • a+:表示匹配一个或多个 a
  • [abc]:表示匹配 abc 任一
  • a{10,}:表示匹配 10~a
  • a?:表示可选匹配 a
  • \?:表示匹配 ?,此处使用 \ 转义
  • ^$:表示开始和结束

对应的 Pattern

Lua 的 Pattern 是弱化版的正则表达式,但其也可以满足大部分需求了。

  • abc:表示匹配 abc
  • a*贪婪匹配零个或多个 a
  • a-非贪婪匹配零个或多个 a
  • a+:表示匹配一个或多个 a
  • [abc]:表示匹配 abc 任一
  • a?:表示可选匹配 a
  • %?:表示匹配 ?,此处使用 % 转义
  • ^$:表示开始和结束

此外,还有一些额外的功能:

  • %n:匹配第 n 个捕获组,n1-9
  • %bxy:匹配 x y 平衡组,常用于括号平衡匹配

发表评论

textsms
account_circle
email

(o・∇・o)

Lua Pattern 简介
话不多说,这部分是作为之后某一篇文章的前置而出现的。 Lua 的 Pattern 和正则表达式有相似之处,但也有所不同。本文力图简短地介绍 Pattern 和可以用到 Pattern 的函数,为之后的使…
扫描二维码继续阅读
2020-03-23