ne_viens:
Код: ((\l) (\!|,|\)|\.|\:|\?|\;)) |
Лишние скобки нам не надо:
Код: (\l) (\!|,|\)|\.|\:|\?|\;) |
, потом труднее их считать будет.
Код: \.(\u)|,(\l)|&(.) (?1. $1:)(?2, $2:)(?3& $3:) |
Тут что-то нагорожено, надо: (?1$1$2:)
Код: \?(\u) (?1? $1:) \!(\u) (?1! $1:) |
Эти можно добавить к .,&
Код: \.(\u)|,(\l)|&(\S)|\!(\u)|\?(\u) (?1. $1:)(?2, $2:)(?3& $3:)(?4! $4:)(?5? $5:) |
Код: Тут написано искать скобку "\(" с последующей малой буквой "(\l)" и букву запомнить.
Eсли последовательность найдена "?1", заменить на пробел, скобку и сохранённую букву " \($1:"
A надо искать малую букву и скобку и букву запомнить "(\l)\(" ,
потом заменить на сохранённую малую букву, пробел и скобку "(?1$1 \(:)"
Осталoсь только объединить регексы через оператор ИЛИ "|"
и в строке условной замены разобраться с нумерацией переменных в соответствии с скобками из регекса.
Код: (\l) (\!|,|\)|\.|\:|\?|\;)|\.(\u)|,(\l)|&(\S)|\!(\u)|\?(\u)|(\l)\( (?1$1$2:)(?3. $3:)(?4, $4:)(?5& $5:)(?6! $6:)(?7? $7:)(?8$8 \(:) |
И, если хочется совсем правильно, то строку замены пишем по логике "if, else if, else if, ..." , а не по "if, if, if, ..."
Код: (?1$1$2:(?3. $3:(?4, $4:(?5& $5:(?6! $6:(?7? $7:(?8$8 \(:))))))) |
, правда от этого сильно пострадает читаемость.