当前位置: 代码迷 >> J2SE >> java 正则表达式 新浪微博@加链接,该如何解决
  详细解决方案

java 正则表达式 新浪微博@加链接,该如何解决

热度:101   发布时间:2016-04-24 02:09:45.0
java 正则表达式 新浪微博@加链接
Java code
public static void main(String[] args) {        //String reg="@^(\\.|\\,|:|;|!|\\?|\\s|#|@|。|,|:|;|!|?)*";        String reg="@[^\\.^\\,^:^;^!^\\?^\\s^#^@^。^,^:^;^!^?]+"; //以@开头以.,:等结束的字符串        Pattern pattern=Pattern.compile(reg);        System.out.println(pattern.toString());        Matcher matcher=pattern.matcher("fsafaf加大@梵净山,金佛山@就佛网 杰弗里斯");        StringBuffer sb=new StringBuffer();        while(matcher.find()){            System.out.println(matcher.group());            matcher.appendReplacement(sb, "<a href='abc'>"+matcher.group()+"</a>");        }        matcher.appendTail(sb);        System.out.println(sb);    }

以上是我写的 要求像新浪微博一样只要输入的字符串中有@XXX就给加上链接 自己写了一个正则表达式 找出一个字符串中以@开头以句号或逗号或分号或空格等就给加上链接。感觉这个比较啰嗦有没有更简练点的写法,请指教。

------解决方案--------------------
String reg="@.*?(?=[.,:;!?\\s#@。,:;!?])";
  相关解决方案