如何编写与字母匹配的正则表达式,可以包含字母,数字,连字符和1下划线?

时间:2012-05-02 09:08:13

标签: regex

我需要编写匹配字符串的正则表达式(.NET): 以字母开头,可以包含字母,数字,句号,连字符, 1下划线,然后按“@”。我尝试了跟随一个,但它与'a_bc12 @'不匹配。

如何解决?

^[A-Za-z][A-Za-z0-9-]+_{0,1}(?=@)

EDITED:  它应该包含{3,10}长度。

3 个答案:

答案 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-/.]*@`

当你在表达后使用+时,它意味着“一次或多次” 当你使用*时,它意味着“零次或多次”

希望它有所帮助。