Заменить несоответствующее регулярное выражение заданным входом - PullRequest
0 голосов
/ 17 сентября 2018

У меня есть строка, подобная приведенной ниже.

update comment for line OBC-1234:Message is this

Я хотел сопоставить OBC-1234:Message is this с указанной выше строкой.

Используемое регулярное выражение \w*-\d+:(\w+\s?)+

У инструмента, над которым я работаю, есть только одна функция, которая заменяет регулярное выражение некоторым входным параметром.Это означает, что сначала он будет соответствовать регулярному выражению из строки и заменит его заданным вводом.Но мое требование состоит в том, чтобы заменить непревзойденную строку заданным входным сигналом.

Выходные данные должны быть такими, как показано ниже

update comment for line input

Я знаю, что это можно сделать через отрицание, ноЯ не знаю, как использовать это для большей строки.Пожалуйста, помогите.

Ответы [ 2 ]

0 голосов
/ 17 сентября 2018

Вы можете сделать:

/(.*?)(?:[A-Z\d-]+:[\w ]+)$/\1New Addition/
                     ^            words and ' ' to end of line
                  ^               literal :
            ^                     character class for OBC-1234 pattern
        ^                         Non capturing group
 ^                                Capture to the LH of description

* 1004 Demo *

Если OBC-1234 более конкретно, вы можете сделать:

/(.*?)(?:[A-Z]+-\d+:[\w ]+)$/\1New Addition/

, чтобы быть более конкретным.

Демо 2

0 голосов
/ 17 сентября 2018

Использование:

  • Найти: ^(.*?)\w*-\d+:\w+(?:\s+\w+)*
  • Заменить: $1NEW STRING
...