2012-06-24 2 views
0

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

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

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

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

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

+0

Что вы хотите точно заменить с помощью 'abc123123' и чего хотите? –

+0

AutoKey использует синтаксис Python; он не удаленно похож на AutoHotkey. – echristopherson

ответ

2

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

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

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

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

>>> 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' 
Смежные вопросы