РЕДАКТИРОВАНО, ЧТОБЫ УЗНАТЬ БОЛЬШЕ ЯСНО
Я придумал следующее регулярное выражение, чтобы помочь мне найти выражения в форме >(0[1-9]|1[0-2])\-\d{4}:\d+(,\d{1,2})?<
. Теперь я хочу выяснить, содержит ли мой текст похожие выражения, которые плохо сформированы, то есть выражения, которые соответствуют первая часть регулярного выражения (перед двоеточием), но не соответствует указанному числовому формату, например соответствие >01-2018:a<
, >01-2018:12,<
или >01-2018:12,111<
Я пробовал следующее, используя отрицательный взгляд >(0[1-9]|1[0-2])\-\d{4}:(?!\d+(,\d{1,2})?).*<
Проблема с моим решением, конечно, в том, что оно будет, так сказать, короткозамкнутым, что даст мне отрицательное совпадение на ie. >01-2018:12,<
потому что он соответствует части "12". Я не уверен, как поступить.