sergiokapone wrote:kvichans wrote:Нужны пояснения?
Да.
Хорошо
С учетом совета от Alexey код такой
Code: Select all
from sw import *
import re
text = ed.get_text_all()
text = re.sub(r'<([^>]+)>', lambda mo: str(1+int(mo.group(1))), text)
ed.set_text_all(text)
1. import-ы чтобы видеть объекты редактора и библиотеку РегВыр
2. text = ed.get_text_all() помещает в переменную text весь текст текущего таба
3. ed.set_text_all(text) заменяет весь текст текущего таба на значение переменной text
4. Дальше самое интересное
- re.sub(шаблон, как-заменять, где-заменять) - заменить все найденные по шаблону
- применяется шаблон с запоминанием подстроки - r'<([^>]+)>' - искать от "<", запоминать все что не ">", до ">"
- как-заменять - это лямбда-фукция, получающая информацию (mo имеет тип match object) об очередном найденном фрагменте.
- единственное выражение после "lambda mo:" (до следующей запятой) - это то, что функция вернет.
- из mo извлекается mo.group(1) - найденная подстрока (кстати mo.group(0) дает полный найденный фрагмент, вместе со <>) - это как раз цифры числа
- осталось из строки-цифр ссс составить новую строку-цифр: str(1+int(ссс))