日期:2014-05-17  浏览次数:20672 次

求一正则表达式(问题解决立刻结贴——在线等)

JScript code
str="$a$=1 and $b$=2";


javascript 中一字符串 。现在想匹配到 $ 之外的内容 如:=1 and 和 =2
这两个部分



------解决方案--------------------
lazy的方式把两个$及其中间部分替换为空应该可以
------解决方案--------------------
不知道这样是不是满意
Java code
        String str="$a$=1 and $b$=2";
        str = str.replaceAll("[$]{1}[^$]*[$]{1}", "");
        System.out.println(str);

------解决方案--------------------
str.replaceAll("\\$.*?\\$", "");

这样ok?
------解决方案--------------------
Java code

String str="$a$=1 and $b$=2";
Pattern p = Pattern.compile("(?<=\\$)=[^\\$]*");
Matcher m = p.matcher(str);
while(m.find()){
  System.out.println(m.group());
}

------解决方案--------------------
Java code

        String res = "str=\"$a$=1 and $b$=2\"";//(?<=\\$)=[^\\$]*
        Pattern p = Pattern.compile("\\$(.*?)\\$(=[^\\$\"]*)");
        Matcher m = p.matcher(res);
        while (m.find()) {
                System.out.println(m.group(2));
        }

------解决方案--------------------
这个明显用 split 来做比较好啊, 再说js里面好像没replaceAll这个方法吧
------解决方案--------------------
不知道LZ想得到什么结果?看看是不是这个意思?
JScript code
var str="$a$=1 and $b$=2";
var r1 = str.replace(/\$.*?\$(=.*?)/g, "$1");
var r2 = str.replace(/.*?(\$.*?\$)=\w*/g, "$1");
alert(r1);
alert(r2);