我需要编写匹配字符串的正则表达式(.NET):以字母开头,可以包含字母、数字、句点、连字符、1 个下划线并遵循“@”。我尝试了以下一个,但例如它与“a_bc12@”不匹配。
如何解决?
^[A-Za-z][A-Za-z0-9-]+_{0,1}(?=@)
已编辑:它应该包含 {3,10} 长度。
我需要编写匹配字符串的正则表达式(.NET):以字母开头,可以包含字母、数字、句点、连字符、1 个下划线并遵循“@”。我尝试了以下一个,但例如它与“a_bc12@”不匹配。
如何解决?
^[A-Za-z][A-Za-z0-9-]+_{0,1}(?=@)
已编辑:它应该包含 {3,10} 长度。
您将需要再次允许下划线后的字符:
/^[A-Za-z][A-Za-z0-9\.-]*_?[A-Za-z0-9\.-]*(?=@)/
此外,我还添加了句点,并使下划线前后的字符串可选。
尝试将其修改为:
[A-Za-z]+[A-Za-z0-9-/.]*_[A-Za-z0-9-/.]*@`
当你在表达式后使用 + 时,表示“一次或多次” 当你使用 * 时,表示“零次或多次”
希望能帮助到你。
试试这个:
^[A-Za-z][A-Za-z0-9-\.]*_{0,1}(?=@)
您的使用+
是一种或多种情况;您希望在首字母之后有零个或多个,即*
.