У меня есть регулярное выражение, которое отвечает за сопоставление шаблона A: B в строках, где у вас может быть несколько совпадений (например, «A: BA: BA: BA: B» и т. Д.). .) Проблема заключается в сложности того, что представляет A.Условное регулярное выражение для нескольких совпадений в строке
Я использую регулярное выражение:
\b[\w|\(|\)+]+\s*:(?:(?![\w+]+\s*:).)*
, чтобы соответствовать элементов в:
Data_1: Tutor Elementary: 10 a F Test: 7.87 sips
Turning 1 Data (A Run), Data: 0.0 10.0 10.0 17.3 0.0
Turning 2 Data (A Run), Data2: 0.0 6.8 0.0 6.8 6.8
Data_1: Tutor Pool: Data2: A B C
Turning 2 (A Run), ABSOLUTE: 368 337 428 0 2 147
Data_4 : 4AZE Localization : 33.14 lat -86 long
Time: 0.75 Data Scenario: 3121.2
Вопрос в том, если вы исследуете эту установку (я использую https://regex101.com/), линии 2,3 , 5 не вернули именно то, что я ищу. Если совпадение является первым в строке, я хочу, чтобы он захватил все, начиная с начала строки, до первого «:». Возможно ли такое условное регулярное выражение? Я старался изо всех сил, но я еще не успел.
Заранее благодарен!
Просто FYI Вы можете сохранять и делиться regex101 страницы https://regex101.com/r/O4JKiI/1 –
Что именно вы пытаетесь захватить? Все до первого ':' на каждой строке? –
Я не знал, что вы можете делиться страницами регулярных выражений. По большей части я пытаюсь зафиксировать то, что захватили вышеперечисленное выражение, за исключением первого совпадения строки. Регулярное выражение, которое дает мне желаемый результат для первого маха: '^ ([\ w | \ (| \), \ s] *) \ s *: (?: (?! [\ W +] + \ s *:).) * ' – PilotGuy