所以我目前有以下代码:
f2::
SendInput, ^c
RegExMatch(clipboard, "[\w-_.]+@(?:\w+(?::\d+)?\.){1,3}(?:\w+\.?){1,2}", email)
WinActivate, emailaddresses - Notepad
SendInput, %email%`r
return
它似乎正在工作,但我正试图让它如此突出,如果我突出显示5个电子邮件地址,它会将它们分别发送到电子邮件地址 - 记事本窗口中的不同行。
答案 0 :(得分:0)
如果你知道分隔符,你可以使用StringSplit并在其上运行你的函数。
来自http://www.autohotkey.com/docs/commands/StringSplit.htm
f2::
SendInput, ^c
;put your delimiter here, assuming space/tab for now
StringSplit, txtArray, clipboard, %A_Tab%%A_Space%
Loop, %txtArray0%
{
copyemail(txtArray%a_index%)
}
return
copyemail(sTxt) {
FoundPos := RegExMatch(sTxt, "[\w-_.]+@(?:\w+(?::\d+)?\.){1,3}(?:\w+\.?){1,2}", email)
if (FoundPos > 0) {
WinActivate, emailaddresses - Notepad
SendInput, %email%`r
}
}
见上面的示例,未经测试!