Regex nie zezwalaj na podwójne podkreślenia

Próba zastosowania wyrażenia regularnego w celu niedozwolenia ciągu z podwójnymi podkreśleniami

 [a-z][a-z0-9_-]+[^__]

ale jego upadek w wielu przypadkach, takich jak:

ab_      doesn't matches whereas it should
ab__c_   matches whereas it shouldn't.