现在有一段内容不确定的字符串,需要从字符串中匹配出range(rand(数字))或 range(rand(数字一,数字二)) 的内容,并且返回 外层括号 内的内容,求高人指点~

解决方案 »

  1.   

    内容可能是有很多类似结构的字符串
    但最外侧括号前为字符串range的只会出现一次
    也就是说range(rand(0)) range(rand(1)) range(rand(0,1)) 中的任意两种不会在同一段需要查找的字符串中同时出现例子:
    /*注释1111111111111111*/
    xxxxxxxxxxxx
    xxx1(1) xx2(2) xx2('dsada')
    range(rand(0)) dasd(23)需要把其中的 rand(0) 这一串字符串查找出来
      

  2.   

    (?i)(?<=range\()rand\(\d+(,\d+)*\)(?=\))
      

  3.   

    (?i)range(\(rand\([+-]?\d+(?:,[+-]?\d+)*\)\))
      

  4.   


    Regex reg = new Regex(@"(?i)(?<=range\()rand\([^()]+\)(?=\))");