我需要编写匹配字符串的正则表达式(.NET): 以字母开头,可以包含字母,数字,句号,连字符, 1下划线,然后按“@”。我尝试了跟随一个,但它与'a_bc12 @'不匹配。
如何解决?
^[A-Za-z][A-Za-z0-9-]+_{0,1}(?=@)
EDITED: 它应该包含{3,10}长度。
答案 0 :(得分:2)
您需要再次允许使用下划线后的字符:
/^[A-Za-z][A-Za-z0-9\.-]*_?[A-Za-z0-9\.-]*(?=@)/
另外,我添加了句点并在下划线可选之前和之后创建了字符串。
答案 1 :(得分:0)
试试这个:
^[A-Za-z][A-Za-z0-9-\.]*_{0,1}(?=@)
您对+
的使用是一次或多次;你希望在首字母后面加零或更多,即*
。
答案 2 :(得分:0)
尝试将其修改为:
[A-Za-z]+[A-Za-z0-9-/.]*_[A-Za-z0-9-/.]*@`
当你在表达后使用+时,它意味着“一次或多次” 当你使用*时,它意味着“零次或多次”
希望它有所帮助。