怎么用正则写出不以"ART/"开头的字符串ART/TTTT    像这个字符串不能匹配

解决方案 »

  1.   

    请以下面这个意思为主,有这样一个字符串<a href=\"/ART/IP%D3%EF%D2%F4.HTM\">IP语音</a>我想对"IP"这个字符串进行替换 , 变成<font>IP</font> 但对双引号中的文字进行替换 改怎么写
    变成下面这样
    <a href=\"/ART/IP%D3%EF%D2%F4.HTM\"><font>IP</font>语音</a>
    public class TestMain { /**
     * @param args
     */
    public static void main(String[] args) {


    String s = "<a href=\"/ART/IP%D3%EF%D2%F4.HTM\">IP语音</a>";
    System.out.println(s.replaceAll("IP", "<font>IP</font>")); }}
      

  2.   

    非ART/开始
    String result = "ART/TTTT";
    String reg = "^(?!ART/).*$";
    System.out.println(result.matches(reg));
      

  3.   


    str = str.replaceAll("IP(?![^<]*>)", "<font>IP</font>");
      

  4.   

    这样写怎么不可以public class TestMain { /**
     * @param args
     */
    public static void main(String[] args) {


    String s = "<a href=\"http://www.dev.xxxx.com/XXXX/ART/IP%D3%EF%D2%F4.HTM\">IP语音</a>";


    System.out.println(s.replaceAll("(?!ART/)(\\w)*IP", "<font>IP</font>"));
    }}
      

  5.   

    (?!ART/)(\\w)*IP,(?!ART/)代表不以ART开头, \\w*代表中间有任意字符号, 但必须接“IP”但结果不是我想要的
      

  6.   

    结果为<a href="http://www.dev.xxxx.com/XXXX/ART/<font>IP</font>%D3%EF%D2%F4.HTM"><font>IP</font>语音</a>
    链接还是被替换了
      

  7.   

    s.replaceAll("(?<=>)IP", " <font>IP </font>");
      

  8.   

    如果没有链接, 对IP也要进行替换
    但对链接URL中的IP不进行替换
      

  9.   

    除了URL中出现的字符以外, 其它的都要进行替换
      

  10.   

    应该是  (?!ART/).* 
    完整代码:package app;import java.util.regex.Matcher;
    import java.util.regex.Pattern;/**
     *
     * @author cherry
     */
    public class Test {    public static void main(String[] args) {
            String regex = "(?!ART/).*";
            String input = "ART/TTTT";
            Matcher matcher = Pattern.compile(regex).matcher(input);
            boolean isMathce=matcher.matches();
            System.out.println(isMathce);
        }
    }
      

  11.   


    public static void main(String[] args) {
    String str = "<a href=\"/ART/IP%D3%EF%D2%F4.HTM\">IP语音</a>";
    str = str.replaceAll("(<a href=\"/ART/IP[^>]+>)(IP)([^<]+</a>)", "$1<font>$2</font>$3");
    System.out.println(str);
    }
      

  12.   

    str=str.replaceAll("(?<!/ART/)(IP)","<font>$1</font>");
      

  13.   

    str = str.replaceAll("IP(?![^<]*>)", "<font>IP</font>");
      

  14.   


    String text = "<a href=\"http://www.dev.xxxx.com/XXXX/ART/IP%D3%EF%D2%F4.HTM\">IP语音</a>";
    System.out.println(text.replaceAll("(?<!ART/)IP", "<font>IP</font>"));
    // so easy
    // output :
    // <a href="http://www.dev.xxxx.com/XXXX/ART/IP%D3%EF%D2%F4.HTM"><font>IP</font>语音</a>