请救一个正则问题。。。。

qlc263 2010-05-30 04:35:22
域名的处理,请用正则来处理
比如
abc.com
www.abc.com
en.abc.com
en.ddd.abc.com

请把上面的字符串分别取出abc,谢谢,正则怎么写啊?

如果像这样的格式的
adsfad.abc.com
en.adsfad.abc.com
需要取出adsfad,又怎么写呢?
...全文
102 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jimh 2010-05-31
  • 打赏
  • 举报
回复

string domain = @"[^\.]+(?=\.[^\.]+$)"; //一级域名
string subdomain = @"[^\.]+(?=(?:\.[^\.]+){2}$)"; //二级域名
兔子-顾问 2010-05-31
  • 打赏
  • 举报
回复
直接indexof不就可以了?
悔说话的哑巴 2010-05-31
  • 打赏
  • 举报
回复
过客和空军大哥来
wackyboy 2010-05-31
  • 打赏
  • 举报
回复
既然没有规律 那么正则就写不了
xiongxyt2 2010-05-30
  • 打赏
  • 举报
回复

字符语法 语法解释 语法例子

\d 匹配数字(0~9) ‘\d’匹配8,不匹配12;

\D 匹配非数字 ‘\D’匹配c,不匹配3;

\w 匹配任意单字符 ‘\w\w’ 匹配A3,不匹配@3;

\W 匹配非单字符 ‘\W’匹配@,不匹配c;

\s 匹配空白字符 ‘\d\s\d’匹配3 d,不匹配abc;

\S 匹配非空字符 ‘\S\S\S’匹配A#4,不匹配3 d;

. 匹配任意字符 ‘....’匹配A$ 5,不匹配换行;

[…] 匹配括号中任意字符 [b-d]匹配b、c、d, 不匹配e;

[^…] 匹配非括号字符 [^b-z]匹配a,不匹配b-z的字符;














重复语法 语法解释 语法例子

{n} 匹配n次字符 \d{3}匹配\d\d\d,不匹配\d\d或\d\d\d\d

{n,} 匹配n次和n次以上 \w{2}匹配\w\w和\w\w\w以上,不匹配\w

{n,m} 匹配n次上m次下 \s{1,3}匹配\s,\s\s,\s\s\s,不匹配\s\s\s\s

? 匹配0或1次 5?匹配5或0,不匹配非5和0

+ 匹配一次或多次 \S+匹配一个以上\S,不匹配非一个以上\S

* 匹配0次以上 \W*匹配0以上\W,不匹配非N*\W





重复语法 语法解释 语法例子

^ 定位后面模式开始位置

$ 前面模式位于字符串末端

\A 前面模式开始位置

\z 前面模式结束位置

\Z 前面模式结束位置(换行前)

\b 匹配一个单词边界

\B 匹配一个非单词边界





转义语法 涉及字符(语法解释) 语法例子

“\”+实际字符 \ . * + ? | ( ) { }^ $ 例如:\\匹配字符“\”

\n 匹配换行

\r 匹配回车

\t 匹配水平制表符

\v 匹配垂直制表符

\f 匹配换页

\nnn 匹配一个8进制ASCII

\xnn 匹配一个16进制ASCII

\unnnn 匹配4个16进制的Uniode

\c+大写字母 匹配Ctrl-大写字母 例如:\cS-匹配Ctrl+S




qlc263 2010-05-30
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wackyboy 的回复:]
C# code

@"[^.]+(?=(\.[^.$]+){1})" 取abc
@"[^.]+(?=(\.[^.$]+){2})" 取adsfad
[/Quote]

经测试,取不出相应的结果。。。不好意思。。暂时不能给分
qlc263 2010-05-30
  • 打赏
  • 举报
回复
说明一下哦。。。上面.com,是不确定的,有可能是.cn/com.cn/org/net等其它域名后缀
qlc263 2010-05-30
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wackyboy 的回复:]
C# code

@"[^.]+(?=(\.[^.$]+){1})" 取abc
@"[^.]+(?=(\.[^.$]+){2})" 取adsfad
[/Quote]

不正确。。。
wackyboy 2010-05-30
  • 打赏
  • 举报
回复

@"[^.]+(?=(\.[^.$]+){1})" 取abc
@"[^.]+(?=(\.[^.$]+){2})" 取adsfad
qlc263 2010-05-30
  • 打赏
  • 举报
回复
有没有人啊?正确,马上给分

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧