极道码农 2015-07-30 07:07 采纳率: 0%
浏览 1610
已结题

Lua 正则太弱了不支持 | 或,求替代方案

Java 或 JS 里面可以这样匹配 js css png gif jpg 文件名称
Lua 正则有点弱,貌似不支持Java 或 JS 里面的 | 或者匹配符。

Java可以实现
s.match("\.(js|css|png|jpg|gif)")

Lua实现不了
string.match(s, "\.(js|css|png|jpg|gif)")

求解决方案,谢谢。

  • 写回答

1条回答 默认 最新

  • 程序员鼓励师 2015-08-01 06:01
    关注

    string.find (字符串查找), string.gsub (全局字符串替换)

    local str1 = "wKgegk1_M33eGCazAAHAC_dLula710.jpg_200x200_1.jpg"
    local str2 = "wKgegk1_M33eGCazAAHAC_dLula710.png_200x200_2.jpg"

    ,index1 = string.find(str1,"%.%a%a%a")
    ,index2 = string.find(str2,"%.%a%a%a")
    print(string.sub(str1,1,index1-1))

    输出: wKgegk1_M33eGCazAAHAC_dLula710.jpg(匹配的是.jpg_或.png_)
    print(string.sub(str2,1,index2-1))

    输出: wKgegk1_M33eGCazAAHAC_dLula710.png(匹配的是.jpg_或.png_)

    print(string.gsub(str2,"_%d+x%d+_%d%.%a+",""))
    输出: wKgegk1_M33eGCazAAHAC_dLula710.png(匹配的是_200x200_2.jpg)

    评论

报告相同问题?

悬赏问题

  • ¥15 matlab实现基于主成分变换的图像融合。
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊