/
- разделители.
?!
- отрицательный прогноз.
[a-z]
- это класс символов (любойсимвол в диапазоне az)
+
равно один или несколько раз предыдущего шаблона ([a-z]
в данном случае)
:
равнопросто литерал двоеточия
Это примерно означает «смотрите вперед и убедитесь, что после двоеточия нет буквенных символов».
Это регулярное выражение имело бы больше смысла, если бы оно имело начало привязки строки: /^(?![a-z]+:/
, поэтому оно не будет соответствовать abc:
(как сказал бы один из других ответов), но без (* 1027)*) Я не знаю, насколько это полезно.