lua中string.gsub做替换时当pattern中含有 )这个字符时(也不一定是这个字符,只不过我碰到的是)会报错

-- 字符串替换【不执行模式匹配】
-- s       源字符串
-- pattern 匹配字符串
-- repl    替换字符串
--
-- 成功返回替换后的字符串,失败返回源字符串
string.replace = function(s, pattern, repl)
    local i,j = string.find(s, pattern, 1, true)
    if i and j then
        local ret = {}
        local start = 1
        while i and j do
            table.insert(ret, string.sub(s, start, i - 1))
            table.insert(ret, repl)
            start = j + 1
            i,j = string.find(s, pattern, start, true)
        end
        table.insert(ret, string.sub(s, start))
        return table.concat(ret)
    end
    return s
end

​​​​​​​

lua invalid pattern capture相关推荐

  1. lua中的魔法字符转义问题

    ❤️强烈推荐人工智能学习网站❤️ lua中的魔法字符有( ) . % + - * ? [ ] ^ $ ,在表示它们时候要考虑用到转义,转义符号为%,但有些却不需要转义.下面我们通过实际代码来测试一下. ...

  2. 【正则】Lua中的正则表达式

    Lua中支持的匹配: 参考资料: 菜鸟教程 博客园:Lua的字符串匹配与正则表达式 元字符 描述 . 与任何字符配对 %a 与任何字母配对 %c 与任何控制符配对(例如\n) %d 与任何数字配对 % ...

  3. golang高并发的理解

    转载地址:https://www.cnblogs.com/feixiangmanon/p/10504081.html 前言 GO语言在WEB开发领域中的使用越来越广泛,Hired 发布的<201 ...

  4. OpenCv相机标定——圆形标定板标定

    OpenCv相机标定--圆形标定板标定 0.前言 1.标定图案 2.OpenCv标定 3.标定结果分析 0.前言   OpenCv中,相机标定所使用的标定图案分为棋盘格.对称圆形及非对称圆形特征图.A ...

  5. golang标准库http服务器处理流程

    http标准库 golang本身就提供了http的标志库,在golang中可以轻松的编写http服务,本文主要是因为在编写http服务的过程中,对整个处理流程不是很了解故想了解一下. 示例代码 pac ...

  6. elasticSearch 内置功能列表

    2019独角兽企业重金招聘Python工程师标准>>> 从名字可以看出来,`default`是索引和搜索时用的默认的analyzer,`default_index`是索引时用的默认的 ...

  7. android tcp socket框架_最流行的 Web 框架 Gin 源码阅读

    最近公司大部分项目开始往golang换, api的框架选定使用gin, 于是将 gin的源码看了一遍, 会用几篇文章将gin的流程及流程做一个梳理, 下面进入正题. gin框架预览 上图大概是 gin ...

  8. 使用CAtlRegExp正则表达式检查浮点数输入

    一.VS2008(Sp1)环境使用CAtlRegExp类需要额外下载ATL Server,(因为开源代码,没集成在VS2008里了) http://atlserver.codeplex.com/ 二. ...

  9. * 类描写叙述:字符串工具类 类名称:String_U

    /******************************************* 类描写叙述:字符串工具类 类名称:String_U* **************************** ...

  10. Go的web工作原理

    在Go中使用及其简单的代码即可开启一个web服务.如下: //开启web服务 func test(){http.HandleFunc("/", sayHello)err := ht ...

最新文章

  1. cookie和token的理解
  2. JDK 14的新特性:switch表达式
  3. mysql mdl 锁_MySQL MDL锁
  4. 关于数据属性特性configurable设置为false后的限制
  5. 纯净菜单栏优化管理:Bartender 4 for Mac支持 Monterey
  6. mysql 不同服务器数据库表同步_mysql 不同服务器数据库表同步
  7. 阿里矢量图标引入方法
  8. mysql-cluster安装与配置
  9. 最新版 Whatsapp 官网下载安装
  10. Mac | 使用 Wineskin 在 Mac 上运行 exe 程序
  11. c语言捕鱼达人源码,用捕鱼达人去理解C中的多线程.doc
  12. IEEE2019论文:使用基于特征融合和缩放的具有空间上下文分析的单镜头检测器在无人机图像中检测小物体
  13. Algorithm之PrA:PrA之IP整数规划(包括0-1整数规划)算法经典案例剖析+Matlab编程实现
  14. 混沌数学之Duffing(杜芬)振子
  15. CMMI2.0之我见-配置管理CM
  16. 孙悟空是个玻璃心的“好人”
  17. java 登录注册小程序
  18. 微信小程序学习day01-WXML 模板语法
  19. cool start
  20. python发微信-python实现向微信用户发送每日一句

热门文章

  1. WTS考勤系统报表实现原理
  2. buuctf一天小练习
  3. less css基础教程
  4. [案例4-6]研究生薪资管理
  5. GIS系列专题(2):Clipper计算机图形库使用说明(Vatti‘s clipping algorithm),类似刀具补偿
  6. 计算机毕业设计之java+ssm疫情防控志愿者管理系统
  7. 如何阅读一本书——阅读笔记+个人体会【建议写书评或文献综述前读读这本书】
  8. 数独游戏代码C++解法
  9. IFrame里面的子页面html内容变化时,怎么动态改变IFrame的高度
  10. 计算机鼠标老跳动,鼠标跳动是什么原因 鼠标经常抖动的解决方法