尝试应用正则表达式,不允许带有双下划线的字符串
[a-z][a-z0-9_-]+[^__]
但它在很多情况下都失败了:
ab_ doesn't matches whereas it should ab__c_ matches whereas it shouldn't.
解决方法
[^ __]匹配一个不是下划线的字符.要声明您的字符串没有两个连续的下划线,您可以使用
negative lookahead:
^(?!.*__.*)[a-z][a-z0-9_-]+$
外观断言你的字符串没有两个连续的下划线(?!.* __.*),然后如果断言没有失败则匹配你需要的字符串 – [a-z] [a-z0-9_-].