正则表达式不允许双下划线

前端之家收集整理的这篇文章主要介绍了正则表达式不允许双下划线前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
尝试应用正则表达式,不允许带有双下划线的字符串

[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_-].

猜你在找的正则表达式相关文章