我正在尝试编写正则表达式,它将匹配一个字符串,除了带下划线的字符串。
到目前为止我有这个,/[A-Za-z0-9]+/
但我不知道要在其中包含什么以使其不需要下划线。
更新:
应该已经更清楚地说明了这一点。我正在尝试匹配一个电子邮件地址,但不是在 _ 之后的部分中带有下划线的电子邮件地址
到目前为止,这是我总共拥有的。
/[A-Za-z_0-9]+@[A-Za-z0-9]+\.(com|ca|org|net)/
到目前为止的答案,不工作
我正在尝试编写正则表达式,它将匹配一个字符串,除了带下划线的字符串。
到目前为止我有这个,/[A-Za-z0-9]+/
但我不知道要在其中包含什么以使其不需要下划线。
更新:
应该已经更清楚地说明了这一点。我正在尝试匹配一个电子邮件地址,但不是在 _ 之后的部分中带有下划线的电子邮件地址
到目前为止,这是我总共拥有的。
/[A-Za-z_0-9]+@[A-Za-z0-9]+\.(com|ca|org|net)/
到目前为止的答案,不工作
/^[^_]+$/
将匹配包含除下划线以外的任何字符的 1 个或多个字符的字符串。
如果我理解您的要求 - 匹配字符串,但包含下划线的字符串除外 - 这需要正则表达式前瞻。
原因是正则表达式通常一次操作一个字符。所以如果我想知道我是否应该匹配一个字符,但前提是后面没有下划线,我需要使用前瞻。
^((?!_)[A-Za-z0-9])+$
?!
是负前瞻运算符
编辑:
所以你希望@符号之前的部分最多有一个下划线,而后面的部分没有下划线?
^[A-Za-z0-9]+_?[A-Za-z0-9]+@[A-Za-z0-9]+\.(com|ca|org|net)$