求一正则表达式
例如有如下字符串:
25 >= 30 && (25 <= 50)
实际字符串会更长更复杂点
但是我的要求是只需要类似25>=30这一串字符串
也就是说只需要>或者是>=之前和之后的表达式
请问这个正则表达式怎么写
谢谢了!

解决方案 »

  1.   

    你要之前多少或之后多少?有没有明显的标志?比如 (25 <= 50) 25 >= 30 && (25 <= 50) 
    这个串,你是要 25 >= 30 ,还是(25 <= 50) 25 >= 30 等等
      

  2.   

    [^<>&|]+>=?[^<>&|]+
      

  3.   

    \d+>=\d+    有空格的话 \d+\s>=\s\d+
      

  4.   

                string str = "25 >= 30 && (25 <= 50)";
                Regex reg = new Regex(@"[\d]* ?>=? ?[\d]*");
                Match mat = reg.Match(str);
                while (mat.Success)
                {
                    Console.WriteLine(mat.Value);
                    mat = reg.Match(str, mat.Index + mat.Length);
                }
      

  5.   

    看错了   这个吧   \d+[<>=]+\d+
      

  6.   


    用这个正则吧:
    \d+\s*[><=]{1,2}\s*\d+匹配出的结果是
    25 >= 30
    25 <= 50
      

  7.   

    谢谢各位的回复
    这个正则表达式必须要包括两种情况哦
    就是>和>=这两种情况哦。
      

  8.   

    两种情况的话  这个: \d+[>=]+\d+
      

  9.   

    不确定你运算符两边是不是一定是数字,所以在3楼给出了通用的答案。。也不确定你括号要还是不要?
    两种情况都包括了。。如果两边都是数字,且不要括号,用下面这个:
    string pattern=@"\d+\s*>=?\s*\d+";
      

  10.   

    \d+( )?(>|(>=))( )?\d+
      

  11.   

    ....这个:\d+\s?>=?\s?\d+    哪可能出现空格 你在哪加个\s?就行了  我新来的需要分  嘿嘿
      

  12.   

    \d+[ ]*(?(>=)>=|>)[ ]*\d+[ ]*
      

  13.   

    \d+[ ]*(?(>=)>=|>)[ ]*\d+[ ]*
    三目运算
      

  14.   

    建议LZ匹配0个以上空格用\s*而不是\s?、( )?、[ ]?之类的
    其他的就不多说了。。