在AutoHotKey脚本中包含正则表达式

时间:2012-03-29 23:13:53

标签: regex autohotkey

我目前正在AutoHotKey中开发一个非常“简单”的脚本,但它涉及使用以下格式的热字符串:

::btw::by the way

只要用户输入“顺便说一句”并用“顺便”替换它就会检测到。

但是,每当我尝试在冒号之间放置正则表达式时,它就会按字面解释它。有没有办法使用热字符串的正则表达式?接受变通办法。

1 个答案:

答案 0 :(得分:1)

Hotstrings本身不支持RegEx,
但有RegEx Powered Dynamic Hotstrings我从未尝试过。

你的另一个选项是一个带有输入命令的循环。
这需要一个结束字符,例如空格 然后你将让脚本分析输入命令返回RegExReplace的内容 将数字放在捕获组中的正则表达式中,并将其用作替换中的反向引用。但除非模式总是在同一个地方有数字,否则我认为它需要两个步骤(使用RegExMatch),如本工作示例所示:

loop
{
Input, retrieved, V, {space}
RegExMatch(retrieved, "[a-zA-Z0-9]{6}", match)
RegExMatch(match, "\d", output)
If (output != "")
Sendinput, {bs 7}%output%
}

键入任意六个序列,五个字母和一个数字,
按空格键,它将仅用数字替换序列。