【已解决】含汉字的正则表达式怎么写?
本帖最后由 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',文件名可能是汉字、数字、字母及常用符号等。
如果用第一行,不能识别汉字;如果用第二行,直接把从第一个'\'开始以后的都换掉了,请问这里该怎么处理? MsgBox(0, 3, StringRegExpReplace('c:\asd\一二三\asd一二三.lba', '(.+\\).*', '${1}Result.MDB'))
afan 发表于 2013-5-23 16:01 http://www.autoitx.com/images/common/back.gif
首先感谢下afan大哥!
能不能稍微解释一下,没太看懂,尤其是后面那个$表示什么的? 回复 3# cynthia59
引用捕捉到的组。1代表第1个组。也可以表示为“$1”、“\1” 那'(.+\\).*'这里为什么不是取到第一'\'就结束了,而是取到最后一个呢? + 是很贪婪的,它会一直吃到没有 \ 为止 原来是这样啊,看来单纯看帮助文档学习的话还是有点局限,这些东西还是要碰到的时候积累起来才行。
每次都第一时间回复我的问题,我会通过好好学习autoit来回报大哥的,哈哈! 向afan大哥致敬!佩服其才华 学习了,感谢。
页:
[1]