#search #replace #find #notepad
#Поиск #заменить #Найти #notepad
Вопрос:
У меня есть следующее:
T47101 UNIPROID FGFR1_HUMAN T47101 ECNUMBER EC 2.7.10.1 T47101 ПОСЛЕДОВАТЕЛЬНОСТЬ MWSWKCLLFWAVLVTATLCTARPSPTLPEQAQPWGAPVEVESFLVHPGDLLQLRCRLRDDVQSINWLRDGVQLAESNRTRITGEEVEVQDSVPADSGLYACVT T47101 DRUGINFO D09HNV Одобренный для применения T47101 DRUGINFO D01PZD Одобренный Ромиплостим T47101 DRUGINFO D02WVT E-3810 Фаза 3
Здесь много наполнителя. Единственное, что меня интересует, это слова, которые следуют за UNIPROID, которые всегда разные, но всегда содержат _HUMANПОСЛЕ. Я хочу сохранить эту информацию (например. FGFR1_HUMAN).
Тогда другая вещь, которая меня интересует, — это все, что следует за ПОСЛЕДОВАТЕЛЬНОСТЬЮ слов. Я хочу сохранить буквы, которые следуют за этим. Все, кроме этих двух выделенных жирным шрифтом вещей, от которых я хочу избавиться.
У меня нет большого опыта в использовании этого, поэтому мне нужна вся помощь, которую я могу получить.
Вот что у меня сейчас есть:
Найти: . UNIPROID(D).
У меня проверено регулярное выражение, а флажок .соответствует новой строке снят.
Редактировать: команда, которая у меня есть сейчас, может удалить все вплоть до FGFR1_Human, но я не уверен, как поступить.
Комментарии:
1.Нравится это?
.*?(?|UNIPROIDh (w _HUMAN)|SEQUENCEh (w )|$)
regex101.com/r/hP3ZKm/1
Ответ №1:
Вы могли бы
Найти то, что:
. ?(?|UNIPROIDh (w _HUMAN)|SEQUENCEh (w )|$)
Шаблон соответствует
. ?
Сопоставьте 1 раз любой символ, кроме новой строки, не жадный (ленивый)(?|
Группа сброса ветки, чтобы использовать группу 1 для обоих вариантовUNIPROIDh (w _HUMAN)
Сопоставьте символы UNIPROID, 1 горизонтальных пробелов и захватите символы 1 слов и_HUMAN
в группе 1|
ИлиSEQUENCEh (w )
Сопоставьте ПОСЛЕДОВАТЕЛЬНОСТЬ, 1 горизонтальные символы пробелов и захватите 1 символы слов в группе 2|
Или$
Конец строки также должен соответствовать последней части
)
Закрыть группу
Заменить на:
$1