正则表达式不应该匹配digit_

时间:2018-12-06 02:00:27

标签: regex

我正在尝试编写与以digit_结尾的字符串不匹配的正则表达式

例如

abc0_@stack.com should return false

我写的正则表达式为'^[a-z0-9\.\+_-]*[0-9_]+@stack.com 我该如何修改此正则表达式,以便所有“ digit_”都不匹配并返回false。

以下测试用例是我要匹配的。

abc@stack.com         Valid
abc123@stack.com      Valid
abc9_@stack.com       Invalid
abc09@gmail.com       Invalid

1 个答案:

答案 0 :(得分:1)

您可以根据当前的正则表达式使用否定的超前查询:

^(?![a-z0-9\.\+_-]*\d_@)

这断言[a-z0-9\.\+_-]组中没有一些(或没有)字符,后跟一个数字(\d),一个_和一个@字符串的开头。

Demo on regex101