找回密码
 加入
搜索
查看: 4321|回复: 8

[AU3基础] 【已解决】含汉字的正则表达式怎么写?

  [复制链接]
发表于 2013-5-23 15:04:33 | 显示全部楼层 |阅读模式
本帖最后由 cynthia59 于 2013-5-23 16:39 编辑
MsgBox(0,"1",StringRegExpReplace("c:\asd\一二三\asd一二三.lba", '\w+.lba', 'Result.MDB',1))
MsgBox(0,"2",StringRegExpReplace("c:\asd\一二三\asd一二三.lba", '\\.+lba', '\\Result.MDB',1))
我想将最后一个'\'后面的内容换成'Result.MDB',文件名可能是汉字、数字、字母及常用符号等。
如果用第一行,不能识别汉字;如果用第二行,直接把从第一个'\'开始以后的都换掉了,请问这里该怎么处理?
发表于 2013-5-23 16:01:13 | 显示全部楼层
MsgBox(0, 3, StringRegExpReplace('c:\asd\一二三\asd一二三.lba', '(.+\\).*', '${1}Result.MDB'))
 楼主| 发表于 2013-5-23 16:10:58 | 显示全部楼层
afan 发表于 2013-5-23 16:01



    首先感谢下afan大哥!
    能不能稍微解释一下,没太看懂,尤其是后面那个$表示什么的?
发表于 2013-5-23 16:13:00 | 显示全部楼层
回复 3# cynthia59


    引用捕捉到的组。1代表第1个组。也可以表示为“$1”、“\1”
 楼主| 发表于 2013-5-23 16:18:57 | 显示全部楼层
那'(.+\\).*'这里为什么不是取到第一'\'就结束了,而是取到最后一个呢?
发表于 2013-5-23 16:25:27 | 显示全部楼层
+ 是很贪婪的,它会一直吃到没有 \ 为止
 楼主| 发表于 2013-5-23 16:32:28 | 显示全部楼层
原来是这样啊,看来单纯看帮助文档学习的话还是有点局限,这些东西还是要碰到的时候积累起来才行。
每次都第一时间回复我的问题,我会通过好好学习autoit来回报大哥的,哈哈!
发表于 2013-5-29 11:56:12 | 显示全部楼层
向afan大哥致敬!佩服其才华
发表于 2013-12-12 16:03:16 | 显示全部楼层
学习了,感谢。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-28 15:29 , Processed in 0.086604 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表