2012-04-13 4 views
0

мне нужно переформатировать текст файла немного в моем блокноте ++ и у меня есть текст такого рода:Regular Expression (Regex)

Это некоторый текст примера. Это пример текста. Это пример текста.
- Это пример текста.
-Это пример текста.
- Это пример текста.
- Это пример текста.

Так как вы можете видеть в выше тексте есть два типа «-» предшествующий текст один с пробелом после «-» и те, без него мне нужно найти только те, без пробела и добавить его между «-» и «текст»

Если я побежал кусок кода ниже

- [A-Za-z0-9]

находит тире и первое письмо сразу же после него, что нецелесообразно, поскольку, когда я заменяю текст, он меняет эту первую букву, которая всегда отличается (в зависимости от того, что я написано), поэтому мне нужно найти это и выбрать только «-», а затем заменить его «-», если не будет лучшего способа.

ответ

1

Для демонстрационных целей:

Find what: -([A-Za-z0-9])(.+) 
Replace with: - \1\2 

Скобки обозначают группу захвата. В строке Замените строку, вы можете использовать обратную косую черту и количество групп для ее добавления.

Это то, что вы действительно хотите сопоставить, это группа NOT, например -([^\s]) (совпадение с тире сразу после пробела).

+0

Большое спасибо, он работает безупречно! –

1

Поиск

-([^ ]) 

и заменить

- \1 

[^ ] является инвертированный символьный класс и соответствует всем, кроме пространства. Этот символ хранится в \1 из-за скобок () вокруг рисунка.

+0

Этот метод отлично работает, поэтому спасибо тоже :)), вы, ребята, здорово! –