0

我正在使用AutoKey,并且试图弄清楚如何在字符串中成功地执行正则表达式模式替换。作为测试,我保存了一个如下所示的脚本:

NewStr := RegExReplace("abc123123", "123$", "xyz")
keyboard.send_keys(NewStr)

该脚本只返回一个空格,而不是我期望的正则表达式修改字符串。

我是 python 脚本的新手,我从 AutoHotKey 教程中获得了该代码,这与 AutoKey 不同,但 AutoKey 可能是在 AutoHotKey 之后建模的,所以我想我会尝试一下。

我一直遇到的问题是专门为 AutoKey 查找正则表达式示例。我将不胜感激任何可以让我更有效地编写专门与 AutoKey 配合使用的 python 脚本的工具建议。在此之前,我从来不需要学习 python,但是因为 AutoKey 将它用于其脚本引擎,所以我现在愿意学习它。

4

1 回答 1

2

.sub(replacement, string[, count=0])

返回通过替换替换替换字符串中最左边的非重叠出现的 RE 获得的字符串。如果未找到该模式,则字符串原封不动地返回。

可选参数 count 是要替换的模式出现的最大数量;count 必须是非负整数。默认值 0 表示替换所有匹配项。

这是使用 sub() 方法的简单示例。它将颜色名称替换为单词 colour:

>>> p = re.compile( '(blue|white|red)')
>>> p.sub( 'colour', 'blue socks and red shoes')
'colour socks and colour shoes'
>>> p.sub( 'colour', 'blue socks and red shoes', count=1)
'colour socks and red shoes'
于 2012-06-24T14:33:31.530 回答