Похоже, вы хотите что-то вроде этого:
/^[A-Za-z\s:]+(?=:\s*\d+(,\d{3})*\s[MK]B)/
Вы хотите убедиться, что ваш сопоставитель регулярных выражений настроен на интерпретацию ^
как начало строки, а не всей строки. Это обычно устанавливается где-то как опция.
В зависимости от вашего вкуса регулярных выражений, вам также может понадобиться экранировать :
в [A-Za-z\s:]
.
РЕДАКТИРОВАТЬ: Вот объяснение:
^ #The beginning of a line
[A-Za-z\s:]+ #Any number of letters, spaces, and/or `:` characters, but at least one.
(?=...) #A positive lookahead assertion, because we want to check for the presence of the upcoming pattern but not include it in our match.
:\s* #A colon followed by any amount of whitespace.
\d+(,\d{3})* #A number in X,XXX,XXX format, with any number of ,XXX groups.
\s[MK]B #A space, then either MB or KB.
Надеюсь, это довольно ясно. Если вам это нужно, вот некоторая информация об альтернативных утверждениях .