本帖最后由 subendong 于 2010-05-25 12:42:52 编辑

解决方案 »

  1.   


    var str = "│ ├ 轻轨";
    var reg = /(?=\s).*$/g
    alert(str.match(reg))
      

  2.   

    var str = "│ ├ 轻轨";
    如果字符串“轻轨”前面的字符不是固定排序的怎么处理?
    比如:“轻轨”前面有“ ”、“│”、“├” 三个符号,但是排序是随机的,请问又怎么处理?谢谢!
      

  3.   

    “轻轨”字样和“ ”、“│”、“├” 三个符号之间有个一半角的空格(即\s)
    只要这个空格存在,使用正则 var reg = /(?=\s).*$/g 就没有问题,无论空格之前是什么东西都不影响
      

  4.   


    String input = "│ ├ 轻轨";
    input = input.replaceAll(".*轻", "轻");
    System.out.println(input);
      

  5.   

    楼上的,轻不是写死的,有可能会是var str = "│ ├ 不锈钢";
      

  6.   

    (?<=[|├  ]{3})\s?(.*)$ 
    用python抓到了。但是js,不晓得为什么没有抓到!
      

  7.   

    怎么会不行呢?代码发上来看看?<HTML>
     <HEAD>
      <TITLE> New Document </TITLE>
     </HEAD> <BODY>
     <INPUT TYPE="text" NAME="inp" id="inp" value="│ ├ 不锈钢"><!-- 只要汉字前有" "就可以 -->
     <BR>取得:<div id="result"></div>
      <SCRIPT LANGUAGE="JavaScript">
      <!--
    var str = document.getElementById("inp").value;
    var reg = /(?=\s).*$/g
    document.getElementById("result").innerHTML = str.match(reg)
      //-->
      </SCRIPT>
     </BODY>
    </HTML>
      

  8.   

    <script>
    var str = "│ ├ 轻轨";
    var reg = /(.*)\s+(.*)$/g;
    alert(str.replace(reg,"$2"));
    </script>
      

  9.   

    \s是匹配任何空白字符
    (?=pattern) 正向预查,在任何匹配 pattern 的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如, 'Windows (?=95|98|NT|2000)' 能匹配 "Windows 2000" 中的 "Windows" ,但不能匹配 "Windows 3.1" 中的 "Windows"。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始。 
      

  10.   


    不是所有的汉字和符号之间都有个半角空格的么?
    那就replace吧……要是只有“ ”、“│”、“├” 这三种符号的话var str = "│ ├ 轻轨│ ├ 不锈钢";
    var reg = /[│ ├\s]/g
    alert(str.replace(reg,""))
      

  11.   

    恩,这个蛮好的。
    另:String input = "│ ├ 轻轨│ ├ 不锈钢";
    String regex = "(│* *├*\\s*)";
    input = input.replaceAll(regex, "");
    System.out.println(input);