求取网址正则表达式
我有1连串字符。 我想把里面的网站取出来。比例1连串字符adbcdddfdfdgfgfgfgfgsfdf134343434,2323,3343434
www.xxx.net,dfedfdf24444,www.yyyy.com,dfdfd922323232
dfdfdf
dfdfdf
www.zzz.au
dfdf
dfdfd
我要把
www.xxx.net
www.yyyy.com
www.zzz.au
这几个网址取出来,怎么取呢? 求正则表达式!
谢谢
--------------------编程问答-------------------- (?i)\bwww((?!www).)*\.(com|net|au) --------------------编程问答--------------------
--------------------编程问答--------------------
static void Main(string[] args)
{
string data = @"adbcdddfdfdgfgfgfgfgsfdf134343434,2323,3343434
www.xxx.net,dfedfdf24444,www.yyyy.com,dfdfd922323232
dfdfdf
dfdfdf
www.zzz.au
dfdf
dfdfd";
foreach (Match m in Regex.Matches(data, @"\w+\.\w+\.\w+"))
Console.WriteLine(m.Groups[0]);
}
--------------------编程问答--------------------
void Main()
{
string data = @"adbcdddfdfdgfgfgfgfgsfdf134343434,2323,3343434
www.xxx.net,dfedfdf24444,www.yyyy.com,dfdfd922323232
dfdfdf
dfdfdf
www.zzz.au
dfdf
dfdfd";
foreach (Match m in Regex.Matches(data, @"(?i)\bwww((?!www).)*?(com|net|au)\b"))
Console.WriteLine(m.Value);
/*
www.xxx.net
www.yyyy.com
www.zzz.au
*/
}
--------------------编程问答-------------------- 一定以www开头吗?
string data = @"adbcdddfdfdgfgfgfgfgsfdf134343434,2323,3343434
www.xxx.net,dfedfdf24444,www.yyyy.com,dfdfd922323232
dfdfdf
dfdfdf
www.zzz.au
dfdf
dfdfd";
string pattern=@"(?is)www[.]{1}((?!www).)*[.]{1}(com|net|au)";
Regex regex = new Regex(pattern);
MatchCollection mc = regex.Matches(data);
foreach (Match m in mc)
{
Console.WriteLine(m.Value);
}
Console.ReadLine();
--------------------编程问答--------------------
string str = @"adbcdddfdfdgfgfgfgfgsfdf134343434,2323,3343434
www.xxx.net,dfedfdf24444,www.yyyy.com,dfdfd922323232
dfdfdf
dfdfdf
www.zzz.au
dfdf
dfdfd";
foreach (Match m in Regex.Matches(str, @"(?is)www\.[^\.]+\.\w+\b"))
Console.WriteLine(m.Value);
--------------------编程问答--------------------
www.[^.]+.(com|net|au)
+1 --------------------编程问答-------------------- http开头不成吗?
ftp开头不成吗? --------------------编程问答--------------------
没用,如果测试字符换成
adbcdddfdfdgfgfgfgfgsfdf134343434,2323,3343434
www.xxx.net,dfedfdf24444,www.yyyy.com,dfdfd922323232
dfdfdf
dfdfdf
www.zzz.au
dfdf
dfdfd
com
就不行了。 你取的好像是第一个www到最后一个com的字符,而我要的不是这个结果哦 --------------------编程问答--------------------
这方法可以,但是如果字符串修改成这个:
adbcdddfdfdgfgfgfgfgsfdf134343434,2323,3343434
www.xxx.net,dfedfdf24444,www.yyyy.kkk.com,dfdfd922323232
dfdfdf
dfdfdf
www.zzz.au
dfdf
dfdfd
我如何把
www.yyyy.kkk.com
www.xxx.net
www.zzz.au
取出来呢?
好像www.yyyy.kkk.com取不到。
请教
谢谢
--------------------编程问答-------------------- 3楼的 试过没?
你举的几个例子 3楼的代码测试过 都没问题
(?i)\bwww((?!www).)*?(com|net|au)\b --------------------编程问答--------------------
请问如果没有www打头可取出来么?
比如:
string str = @"adbcdddfdfdgfgfgfgfgsfdf134343434,2323,3343434
xxx.net,dfedfdf24444,yyyy.com,dfdfd922323232
dfdfdf
dfdfdf
zzz.au
dfdf
dfdfd";
可以取出下面几个网址么?
xxx.net
yyyy.com
zzz.au --------------------编程问答--------------------
请问如果没有www打头可取出来么?
比如:
string str = @"adbcdddfdfdgfgfgfgfgsfdf134343434,2323,3343434
xxx.net,dfedfdf24444,yyyy.com,dfdfd922323232
dfdfdf
dfdfdf
zzz.au
dfdf
dfdfd";
可以取出下面几个网址么?
xxx.net
yyyy.com
zzz.au
谢谢 ,你的代码我测试过没问题,就是如果不带www也不带http的情况下可以取出来么?
--------------------编程问答--------------------
--------------------编程问答-------------------- 谢谢,好像没问题, 我再测试下先
string str = @"adbcdddfdfdgfgfgfgfgsfdf134343434,2323,3343434
www.xxx.net,dfedfdf24444,www.yyyy.kkk.com,dfdfd922323232
dfdfdf
dfdfdf
www.zzz.au
dfdf
dfdfd
我如何把
www.yyyy.kkk.com
www.xxx.net
www.zzz.au
adbcdddfdfdgfgfgfgfgsfdf134343434,2323,3343434
xxx.net,dfedfdf24444,yyyy.com,dfdfd922323232
dfdfdf
dfdfdf
zzz.au
dfdf
dfdfd
";
foreach (Match m in Regex.Matches(str, @"(?is)\w+\.\w+(\.\w+)*"))
Console.WriteLine(m.Value);
补充:.NET技术 , C#