使用方法很简单,不会留言!
;-------------------------------
; 正则替换时调用函数 By FeiYue
;
; 第三个参数为自定义函数名或函数对象
; 自定义函数接受一个参数,该参数为对象
; 对象.0为整个匹配,对象.N为第N个子匹配
;-------------------------------
RegExReplaceFunc(ByRef s, re, func)
{
if !IsFunc(func)
return s
SetBatchLines, % (bch:=A_BatchLines) ? "-1":"-1"
re:=RegExMatch(re, "^[^()[\\]*\)") ? "OS" re : "OS)" re
VarSetCapacity(ss, VarSetCapacity(s,-1)), r:="", i:=1
While (p:=RegExMatch(s,re,r,i)) and (len:=r.Len(0))
ss.=SubStr(s,i,p-i) . %func%(r), i:=p+len
ss.=SubStr(s,i)
SetBatchLines, %bch%
return ss
}
s:="==abc==abc=="
re:="(\w+)"
MsgBox, 4096,, % RegExReplaceFunc(s, re, "StringUpper")
return
StringUpper(r) {
return Format("{:U}", r.1)
}
StringUpper2(r) {
s:=r.0
StringUpper, s, s
return s
}
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
不错,加油
?
???
一起学习 初进autoahk??