读书人

高难度正则解决方案

发布时间: 2012-03-18 13:55:38 作者: rapoo

高难度正则
一段话,如:
@abc falieurisdlfalsjdfj Email: abc@abc.cn alkjdiruasjdflasdfj @abc.uk salkdjfoawuierj @123,lskdufasjidfja

上面这段话中 读取@abc 和 @abc.uk 和@123 而不要取出 abc@abc.cn中的 @abc.cn 就像微博中一样 @符号后面,逗号或者句号前面的内容取出来,但是不要涉及到邮箱中的@后面的东西。




[解决办法]
for example

Java code
String s = "@abc falieurisdlfalsjdfj Email: abc@abc.cn alkjdiruasjdflasdfj @abc.uk salkdjfoawuierj @123,lskdufasjidfja";Pattern p = Pattern.compile("(\\W+|^)(@.*?)[\\s,]");Matcher m = p.matcher(s);while (m.find()) {    System.out.println(m.group(2));} 

读书人网 >Eclipse开发

热点推荐