Я пытаюсь сопоставить шаблоны регулярных выражений со следующими критериями:
Я хочу сопоставить строку, которая имеет только одно единственное вхождение во всей строке. Затем я хочу захватить часть перед единственным двоеточием.
Примеры допустимых строк:
JohnP: random text here
BobF::student: random text here (this is valid because there's only ONE occurrence of a single colon. the other is a double colon)
Paris: random text here::student (valid for the same reason as above)
Примеры недопустимых строк:
JohnP: student: random text here
BobF::student: random text here: more
Я понятия не имею, как выполнить такое соответствие регулярному выражению. В случае действительных строк группа, которую я хочу вернуть:
JohnP
BobF::student
Paris
Я был бы признателен за помощь! Я пробовал $string =~ ^[^:]+:\s*
, но это соответствует только до первого двоеточия.