Регулярное выражение для извлечения строки между 5-м и 6-м двоеточием без пробела

Я работаю над регулярным выражением для извлечения строки между 5-й и 6-й строками. Мне нужно извлечь его без пробела, так как пробел находится между двоеточиями. Ниже приведен образец, из которого я должен извлечь

Abc Cloud : Xyz : Windows : Non Prod : Silver : ATC123XYZ : Служба AQW не работает

Я пробовал : (.+?):, однако он возвращает: Xyz:,: Non Prod: и: ATC123XYZ:. Я хочу только ATC123XYZ.

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
1
0
179
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете попробовать:

^(?:[^:]+\s*:\s*){5}([^:\s]+)

Демо

Объяснение:

^                 from the start of the input
(?:               match (but don't capture)
    [^:]+\s*:\s*  any term followed by :
){5}              match exactly 5 of these
([^:\s]+)         then match AND capture the 6th term

Нужный термин будет доступен в первой группе захвата.

Спасибо, это работает, как ожидалось. Я пытался понять это, получая это по частям. Для многих, таких как мы, будет здорово, если вы сможете расшифровать его шаг за шагом.

Vishal 21.12.2020 09:00

Другие вопросы по теме

Отрицательный взгляд назад не работает должным образом. Как предотвратить захват строки второй группой?
Почему производительность двух регулярных выражений, использующих группы захвата, сильно различается?
Regex выбирает имена в следующих строках после совпадения (до...)
Как выполнить разделение строк, используя регулярное выражение в качестве ссылки, и чтобы часть используемого шаблона разделителя не удалялась из следующей строки?
Замените все вхождения слова другим конкретным словом, которое должно стоять где-то в предложении перед этим словом.
Регулярное выражение для извлечения существительного в переменном порядке
Установите шаблон регулярного выражения, чтобы идентифицировать повторяющийся шаблон перечисления, где одно и то же совпадение повторяется неизвестное количество раз подряд.
Почему это регулярное выражение захватывает максимум 2 группы захвата, а не все группы во входной строке?
Удалить из списка строк те строки, которые содержат только пустые пробелы или состоят менее чем из 3 буквенно-цифровых символов.
Удалите 2 или более последовательных слов без заглавных букв из строк, хранящихся в списке строк, используя регулярное выражение, и разделите их.