如何在正则表达式中检查 @ 符号?

3

我知道@符号是正则表达式中的运算符,但我需要检查它是否插入在一个单词中,然后检查@是否存在。

我该如何编写我的正则表达式?

实际上,我的正则表达式(使用Javascript)是这样的:

/^[a-zA-Z0-9_]+$/

我需要授予插入@的可能性。

感谢您的帮助。


我认为@不需要转义。 - kums
正如@trzyeM所说,您应该尝试使用\@\用于转义字符。 - AlvaroAV
2个回答

0

你不需要转义 @ 符号。它不是正则表达式元字符。

/^\w*@\w*$/

这将确保字符串必须包含一个@符号。

或者

在开头使用正向先行断言。

/^(?=.*@)[\w@]+$/

正向预查断言了将要匹配的字符串必须包含一个@符号。

> /^(?=.*@)[\w@]+$/.test('foo@bar')
true
> /^(?=.*@)[\w@]+$/.test('foo909bar')
false

演示


0
^[a-zA-Z0-9_@]+$

或者

^[\w@]+$

这里可以让你在字符类中直接输入@符号。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接