首页 新闻 会员 周边 捐助

正则表达式怎么匹配&&和||

1
悬赏园豆:20 [已解决问题] 解决于 2012-04-25 20:19

请教跟&&或者||匹配的正则表达式,只能同时匹配两个&或者|,不能单个匹配&或者|

多谢!

只能匹配&&,不能是一个&,或者&&&,也不能是&&&&,或者更多的&

问题补充:

我是要和前面的[\*|\/]这些符号合在一起验证的

会飞的机器猫的主页 会飞的机器猫 | 初学一级 | 园豆:86
提问于:2012-04-24 19:48
< >
分享
最佳答案
1

[&|]{2}

收获园豆:10
_A_A | 小虾三级 |园豆:1139 | 2012-04-24 19:53

貌似不行哎 如果单独的话可以 但是如果是[\*|[&|]{2}]单个的也能匹配

会飞的机器猫 | 园豆:86 (初学一级) | 2012-04-24 20:08

@阳光明媚Ryan: 不好意思,这个表达式有问题~

不明白需求,如果是这样的:*号后面只能有2个$$或||,那么可以试试这个:

\*(?:([$|])\1)(?:(?!\1))

可以匹配“*$$”,"*$$xxx","*||"之类的

_A_A | 园豆:1139 (小虾三级) | 2012-04-25 20:08
其他回答(4)
0

&&|\|\|

收获园豆:5
koi | 园豆:4 (初学一级) | 2012-04-24 19:57

^[&|]{2}&

支持(0) 反对(0) koi | 园豆:4 (初学一级) | 2012-04-24 20:08
0

“|”字符就是或者的意思  

 假如是匹配身份证号 :d{15}|d{18}  -- 匹配15位数的身份证或者18位数的身份证

这只用了一个| 但你知道了“|‘字符是干嘛的了,加多少"|"都无所谓了 

┢┦偉 | 园豆:1240 (小虾三级) | 2012-04-24 20:02
0

代码如下:

[Test]
public void RegexTest()
{
    var text = "*||&&";
    Console.WriteLine(Regex.IsMatch(text,
        @"[\*|\/]([&]{2}|[|]{2})"));
}
收获园豆:5
dudu | 园豆:30139 (高人七级) | 2012-04-24 21:40
0

java的语法你勉强看看吧

        java.util.regex.Pattern pattern = java.util.regex.Pattern.compile("^[^$]*[$]{2}[^$]*$");
        Matcher matcher = pattern.matcher("dsfdsa$$$fdsfdsa");
        if( matcher.matches() ){
            System.out.println("true");
        }else{
            System.out.println("false");
        }
阿彬 | 园豆:211 (菜鸟二级) | 2012-04-25 17:13
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册