У меня есть большое количество текста с отступом (выделено) табуляцией, в котором отсутствует начальный символ маркера:
some point
a sub-point
Я хочу заменить каждую вкладку на 2 пробела и добавить дефис впереди. Это целевой формат мне нужен:
- some point
- a sub-point
Найти:
Я могу использовать регулярное выражение \t+\S
чтобы найти «любое количество вкладок, за которыми следуют любые непробельные символы». Это прекрасно работает, и функция "найти" выделяет начало каждой строки, вплоть до первого символа без табуляции.
Заменить:
Как я могу использовать регулярное выражение, чтобы указать «заменить каждую вкладку двумя пробелами, за которыми следуют один дефис и один пробел, за которым следует оригинальный символ без табуляции»? В частности:
- Как указать, что замена должна происходить «столько раз, сколько было совпадений в поиске»? (Таким образом, три вкладки станут шестью пробелами и т.д.)
- Как мне указать литерал «один дефис, затем один пробел»?
- Как мне указать "сохранить неизменяемый символ без табуляции"?
Мой гугл-фу привел меня к понятию \1
но я не понимаю, как я могу это использовать. Мое тестирование методом проб и ошибок приводило только к ошибкам.
Обновить:
Я обнаружил кое-что о \1
: я должен использовать круглые скобки в моей строке поиска: (\t+)(\S)
а затем использовать это в части замены: \1- \2
. Это помогает мне решить пункты № 2 и № 3 выше, но я все еще в растерянности относительно № 1!
Up-Update:
Duh - # 1 может быть простым не-регулярным действием найти / заменить, если в тексте нет символов табуляции. Это то, что мне нужно исследовать сейчас!
Я пытаюсь с Ubuntu Gedit, но я мог бы также использовать Notepad++ или Sublime, если у вас есть предложения для конкретного редактора.