我有以下代码,我目前正在使用的正则表达式似乎没有捕获我以标准格式(www.google.com)输入的任何网址,因为它显示在列表框中时,网址仍然存在。有谁知道我哪里出错了?
e1.MessageBody = txtMessage.Text;
Regex.Replace(e1.MessageBody, @"/((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]*))?)/", ""string.Empty);
答案 0 :(得分:2)
var msg = "ASD www.google.com EFIG";
msg = Regex.Replace(msg, @"((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]*))?)", string.Empty);
C#不使用正则表达式标识符(前导/尾随/
),"
参数有额外的引号string.empty
。