Я много искал, но не нашел никакой помощи.

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

пример:

  • чтение
  • ремонт

Таким образом, регулярное выражение должно соответствовать только "re" и "ing", а не "ad" или "pair".  И регулярное выражение должно совпадать с "re" и "ing" одновременно (одним словом), а не по отдельности. Поэтому вывод должен быть таким (я их выделил жирным шрифтом):

  • повторное объявление Инг
  • повторно пара Инг

Я не кодер. Я просто редактирую / корректирую очень большой текст в редакторе Sublime Text 3 в Windows 7.

Редактировать: Решено! Большое спасибо Бо Л. Ваш совет работает. Я написал в поле поиска \b(re)(\S *)(ing)\b и написал вместо $ 2, и это работает. Вы сделали совсем другое исправление, но теперь все нормально :)

1 ответ1

0

Какова ваша цель? Что для вас не означает "соответствие" с "объявлением" или "парой"?
Вы ищете шаблон, который может соответствовать словам, которые начинаются с 're' и заканчиваются на 'ing', независимо от того, что находится между ними?

Если это так, это может быть полезным шаблоном:

\b(re)\S*(ing)\b

«\b» определяет границы слов, а «\S *» допускает любое количество непробельных символов между "re" и "ing" (0 или более, так что технически "reing" будет соответствовать).
При необходимости вы можете заменить '\S', если у вас есть более строгие требования к тому, что может составлять слова (возможно, '(a-zA-Z)' для любой буквы, или '\w' для букв, цифр и подчеркиваний?)

Редактировать:

Если вы хотите заменить аффиксы при сохранении исходного слова, вы можете использовать слегка измененный шаблон:

\b(re)(\S*)(ing)\b

и используйте этот шаблон в поле Sublime Text "заменить на":

un$2ed 

Например, изменить "ремонт" на "непарный". $ 2 ссылается на "пару" в "ремонте" и позволяет сохранить его в значении замены.

Однако он все равно будет совпадать с "чтением", поэтому вам придется вручную проходить каждое совпадение, чтобы убедиться, что вы не создаете бредовое слово, например "чтение", в "неопознанное". Я не эксперт по регулярным выражениям, но автоматизировать это выходит за рамки одного только регулярного выражения IME.

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