• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Lua 笔记11

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1. 捕获用法 +1,空白捕获 ()  举例,

 

 

 

 

 

   注:与find返回的结果不一致。

2. 捕获 另一个好的示例,

 

 

 

 

 

   注:

    这个函数首先对字符串进行了制表符展开以移除其中所有的制表符,然后构造出一个用于匹 配所有 8 个字符序列的辅助模式,再利用这个模式在每 8 个字符后添加一个标记   (控制字 符\1 )。 接着,它将所有以此标记结尾的空格序列都替换为制表符。 最后,将剩下的标记删 除(即那些没有位于空格后的标记)。

 3. 运用模式开发注意:

  1. 如果目标字符串含有 模式字符。

  2. 模式匹配效率很高。但还需尽量使用精确的模式(不精确的模式比精确模式慢很多)。例子,

  模式’(.-)%$ ’ ,它用于获取字符串中第一个 $ 符号前的所有内容。 如果目标字 符串中有 $ 符号,那么这个模式工作很正常;但是,如果宇柯:串中没有 $ 符号,那么模式匹 配算法就会首先从字符串起始位置开始匹配,直至为了搜索 $ 符号而遍历完整个字符串。 当 到达字符串结尾时,这次从字符串起始位直开始的模式匹配就失败了。 之后,模式匹配算法 又从字符串的第二个位置开始第二次搜索,结果仍然是无法匹配这个模式。 这个匹配过程会在字符串的每个位置上进行一次,从而导致。O(n^2)的时间复杂度(此处拓展,模式匹配算法)。要解决这个问题,我们只需使用'^(.-)%$'将模式 锚定在字符串的开始位置即可。 这样,如果不能从起始位置开始找到匹配,搜索就会停止。

4. 用法瞻仰:

 

 

 

 运行结果:

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Lua table concat发布时间:2022-07-22
下一篇:
freeswitch使用mysql代替sqlite以及通过lua管理用户登录(基于mac).md发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap