我在代码隐藏文件中使用正则表达式并将字符串定义为
string ValEmail = "\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*";
if (Regex.IsMatch(email, "\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"))
{ }
else
{ }
它给了我警告并且没有编译。如何定义这样的字符串组合?。
答案 0 :(得分:4)
在C#中,反斜杠是一个特殊字符,如果要表示反斜杠,我们需要通知编译器。
这可以通过反斜杠来实现:
string ValEmail = "\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*";
在构造字符串时使用@
前缀:
string ValEmail = @"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*";
答案 1 :(得分:2)
反斜杠是c#字符串中的转义字符。从技术上讲,你必须使用另一个黑色长剑("\\"
)来逃避反斜杠,或者只是在你的字符串之前添加@
:
string ValEmail = @"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*";
答案 2 :(得分:1)
使用@"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"
以便反斜杠将被转义