AutoKey Python - Как мне сделать замену регулярных выражений

Я использую AutoKey и пытаюсь выяснить, как успешно выполнить замену шаблона регулярного выражения в строках. В качестве теста я сохранил скрипт, который выглядит так:

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

Скрипт вернул только пробел, вместо ожидаемой мной строки, модифицированной регулярным выражением.

Я новичок в написании скриптов на Python, и я получил этот код из учебника AutoHotKey, который отличается от AutoKey, но AutoKey, вероятно, смоделирован после AutoHotKey, поэтому я решил попробовать.

Проблема, с которой я постоянно сталкиваюсь, - это поиск примеров регулярных выражений для AutoKey. Я был бы признателен за любые предложения по инструментам, которые позволят мне более эффективно писать сценарии на Python, которые особенно хорошо работают с AutoKey. До этого мне никогда не приходилось изучать python, но, поскольку AutoKey использует его для своего скриптового движка, я хочу изучить его сейчас.

1 ответ

Решение

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

Возвращает строку, полученную путем замены крайнего левого не перекрывающегося вхождения RE в строке заменой замены. Если шаблон не найден, строка возвращается без изменений.

Необязательный аргумент count - это максимальное количество экземпляров шаблона, которые должны быть заменены; count должен быть неотрицательным целым числом. Значение по умолчанию 0 означает замену всех вхождений.

Вот простой пример использования метода sub(). Он заменяет названия цветов словом "цвет":

>>> 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'
Другие вопросы по тегам