1

В моем коде много текста, похожего на следующее, которое я пытаюсь редактировать с помощью notepad++:

except ValueError, err:
except Exception,err:
except RPCFault, err:

Не то, что я пытаюсь сделать, это изменить текст следующим образом:

except ValueError as err:
except Exception as err:
except RPCFault as err:

Для внесения вышеуказанных изменений я попытался использовать регулярное выражение: except.*, В поле поиска и в поле замены: except.* as

Но это не помогло. Пожалуйста, предложите мне, что мне нужно сделать.

2 ответа2

1

Предполагая, что в каждой строке есть только одна запятая:

  • Ctrl+H
  • Найти что: ^except [^,]+\K, *(?=err:$), *(?=err:$)
  • Заменить на: as
  • проверить обернуть
  • проверьте регулярное выражение
  • Заменить все

Объяснение:

^                   : begining of line
  except [^,]+      : literally "except", followed by a space and 1 or more non comma
  \K                : forget all we have seen until this position
  ,                 : a comma
   *                : 0 or more spaces
  (?=               : look ahead, zero length assertion that makes sure we have after
    err:$           : literally "err:" at end of line
  )                 : end lookahead

Замена:

 as     : a space, "as", a space

Результат для данного примера:

except ValueError as err:
except Exception as err:
except RPCFault as err:
0

В режиме поиска регулярное выражение заменить

(except\ [A-Za-z]+),\ *(err:)

с

$1 as $2

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .