gpt4 book ai didi

regex - 如何在 Elixir 中使用 W3C 电子邮件正则表达式

转载 作者:行者123 更新时间:2023-12-05 02:46:24 29 4
gpt4 key购买 nike

我正在尝试在 Elixir 中使用以下 W3C 电子邮件正则表达式(来源:RegexPal):

/^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/

在一个看起来像这样的函数中

def get_type(value) do
cond do
String.match?(value, ~r/^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/) ->
:email

String.match?(value, ~r/^\+[1-9][0-9]\d{1,14}$/) ->
:phone_number
end
end

编译出错

unexpected token: "`" (column 56, code point U+0060)

我在这里做错了什么?

最佳答案

这并没有特别回答你关于正则表达式的问题,@julp 完美地回答了这个问题。

我在这里告诉不要使用正则表达式来验证电子邮件。您提到的正则表达式无论如何都不太正确。

这是一个完全有效的电子邮件示例,它不会通过您的正则表达式:"John Smith"@example.com

More .

所以我的猜测是:检查是否有 @

def get_type(value) do
if String.contains?(value, "@"),
do: :email,
else: :phone_number
end

关于regex - 如何在 Elixir 中使用 W3C 电子邮件正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65492871/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com