posts - 311, comments - 0, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

Lua正则表达式笔记

注意:Lua中的正则表达式和标准的有差异。

 

匹配UTF8字符

([%z/1-/127/194-/244][/128-/191]*)

 

匹配Unicode字符串中的非英文字符

[/128-/255][%z/1-/255]

 

匹配“”表示的字符串

注意的是字符串中可能出现/"转义的引号。

/".-[^//]/"

样例:

"say /"hello/" to me" (这是个文本串,写在代码中应该是:str = "/"say ///"hello///" to me/"" )

 

去掉首尾空格

string.gsub(str, "^%s*(.-)%s*$", "%1")

 

匹配括号

(%b/{/})

Lua中自带的括号匹配功能,%bxy,x为左括号,y为右括号。支持嵌套。

 

获取文件名和后缀

local filename, suffix = string.match(fullname, "(.*)%..-$")