Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在带有正则表达式的电子邮件中只允许双反斜杠?_C#_Regex_Email - Fatal编程技术网

C# 如何在带有正则表达式的电子邮件中只允许双反斜杠?

C# 如何在带有正则表达式的电子邮件中只允许双反斜杠?,c#,regex,email,C#,Regex,Email,我正在尝试接受电子邮件中类似用户名的\\和/符号前面的@。 下面是我们正在使用的当前正则表达式: ^([\w-\.]+)@(\[[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.}.[0-9]{1,3}.]([\w-]+\.+)([a-zA-Z]{2,4}.[0-9]{1,3})(\]?)$ 我只希望允许双反斜杠的原因是,我希望在使用此正则表达式验证该字符串是否为有效用户名时对其进行转义 有效和无效用例: 你好\\world@email.com有效 你好\world@email.

我正在尝试接受电子邮件中类似用户名的
\\
/
符号前面的
@
。 下面是我们正在使用的当前正则表达式:

^([\w-\.]+)@(\[[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.}.[0-9]{1,3}.]([\w-]+\.+)([a-zA-Z]{2,4}.[0-9]{1,3})(\]?)$

我只希望允许双反斜杠的原因是,我希望在使用此正则表达式验证该字符串是否为有效用户名时对其进行转义

有效和无效用例:

  • 你好\\world@email.com有效
  • 你好\world@email.com无效
  • 你好/world@gmil.com有效
  • hello@email.com
    有效
  • 我尝试了以下正则表达式,但它也允许使用单个反斜杠:


    ^([\w-(\\\\)/\.]+)@(\[[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.\)([\w-]+\.+)([a-zA-Z]{2,4}.[0-9]{1,3})(\]?)$
    您需要在开始时添加负前瞻

    ^(?![^@]*?(?:\\\\\\|(?<!\\)\\(?!\\)))([\w-\\\\/.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$
    
    ^(?![^@]*?(?:\ \ \ \ \ \ \ \ \(?)?
    


    @(?m)^(?![^@]*?(?:\\\\\\\\\\\\\\\\\\(?您需要在开始处添加负前瞻

    ^(?![^@]*?(?:\\\\\\|(?<!\\)\\(?!\\)))([\w-\\\\/.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$
    
    ^(?![^@]*?(?:\ \ \ \ \ \ \ \ \(?)?
    


    @(?m)^(?![^@]*?(?:\\\\\\\\\\\\\\\\\\(?您需要在开始处添加负前瞻

    ^(?![^@]*?(?:\\\\\\|(?<!\\)\\(?!\\)))([\w-\\\\/.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$
    
    ^(?![^@]*?(?:\ \ \ \ \ \ \ \ \(?)?
    


    @(?m)^(?![^@]*?(?:\\\\\\\\\\\\\\\\\\(?您需要在开始处添加负前瞻

    ^(?![^@]*?(?:\\\\\\|(?<!\\)\\(?!\\)))([\w-\\\\/.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$
    
    ^(?![^@]*?(?:\ \ \ \ \ \ \ \ \(?)?
    


    “(?m)^(?![^@]*?(?:\ \ \ \ \ \ \ \(?如何转义取决于您使用的语言,但下面是:

    ^(([-\w\/\.]|\\\\)+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$
    

    我所做的只是在第一组中添加一个正斜杠
    \/
    ,并添加两个反斜杠作为替代
    \\\\

    以下是C#转义版本:

    ^(([-\\w\\/\\.]|\\\\\\\\)+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([\\w-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$
    

    它应该如何转义取决于您使用的语言,但现在您可以:

    ^(([-\w\/\.]|\\\\)+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$
    

    我所做的只是在第一组中添加一个正斜杠
    \/
    ,并添加两个反斜杠作为替代
    \\\\

    以下是C#转义版本:

    ^(([-\\w\\/\\.]|\\\\\\\\)+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([\\w-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$
    

    它应该如何转义取决于您使用的语言,但现在您可以:

    ^(([-\w\/\.]|\\\\)+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$
    

    我所做的只是在第一组中添加一个正斜杠
    \/
    ,并添加两个反斜杠作为替代
    \\\\

    以下是C#转义版本:

    ^(([-\\w\\/\\.]|\\\\\\\\)+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([\\w-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$
    

    它应该如何转义取决于您使用的语言,但现在您可以:

    ^(([-\w\/\.]|\\\\)+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$
    

    我所做的只是在第一组中添加一个正斜杠
    \/
    ,并添加两个反斜杠作为替代
    \\\\

    以下是C#转义版本:

    ^(([-\\w\\/\\.]|\\\\\\\\)+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([\\w-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$
    
    试试这个

    ^([\w]+)((\\\\)*(/)*(\.)*)([\w]*)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$
    
    试试这个

    ^([\w]+)((\\\\)*(/)*(\.)*)([\w]*)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$
    
    试试这个

    ^([\w]+)((\\\\)*(/)*(\.)*)([\w]*)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$
    
    试试这个

    ^([\w]+)((\\\\)*(/)*(\.)*)([\w]*)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$
    


    只在at符号之前?@AvinashRaj:问得好。是的,没错!是
    喂\/world@email.com
    valid?C#用另一个“`so no.Tarik检查我的ans..对我有效..只在at符号之前?@AvinashRaj:问得好。是的!是
    你好吗\/world@email.com
    valid?C#转义反斜杠wi另一个“不,塔里克检查我的ans。它对我有效。只在at符号之前?@AvinashRaj:好问题。是的,没错!是
    你好吗\/world@email.com
    valid?C#用另一个“`所以不。塔里克检查我的ans。.它对我有用。.只在at符号之前?@AvinashRaj:好问题。是的,没错!是
    valid?C#用另一个“`so no.Tarik check my ans..it work for me..Matches
    hello”来逃避反斜杠\/world@email.com
    也一样。它起作用了,但不是用C语言。我应该指定我使用C语言的事实。@AvinashRaj:不是我,而是添加了+1。Matches
    你好\/world@email.com
    太好了。它起作用了,但不是用C语言。我应该说明我使用C语言的事实。@AvinashRaj:不是我,而是添加了+1.Matches
    hello\/world@email.com
    也一样。它起作用了,但不是用C语言。我应该指定我使用C语言的事实。@AvinashRaj:不是我,而是添加了+1。Matches
    你好\/world@email.com也是。它可以工作,但不是用C语言。我应该指定我使用C语言的事实。@AvinashRaj:不是我,而是添加了+1。