charset=cht&cateid=123&id=111&kw=xxxsdsdfsdfsd
匹配上面的串的正则,但不要限定顺序,应该怎么弄?

解决方案 »

  1.   

    你可以看下,C#正则表达式整理备忘录:http://www.netcsharp.cn/showtopic-470.aspx
      

  2.   

    我是这样写的,但是无法实现任意顺序。
    ((&)?charset=(?<charset>(chs|cht)?[^&]*))?|((&)?cateid=(?<cateid>\d+[^&]*))?|((&)?id=(?<id>\d+[^&]*))?|((&)?kw=(?<kw>[^&]*))?
      

  3.   

    @"^[A-Za-z]+=[A-Za-z0-9]*(&[A-Za-z]+=[A-Za-z0-9]*)*$"
      

  4.   

    可以匹配其它关键这的:
    (&?[a-z]+=\w+)+
    指定关键字的:
    (&?(charset|cateid|id|kw)+=\w+)+
      

  5.   

    这样做怕是不行哦,我要把这些串的各个项取出来,还有用途的。
    不能用request.querystring取的。
      

  6.   

    (?<s>charset)=(?<v>\w+)|(?<s>cateid)=(?<v>\d+)|(?<s>id)=(?<v>\d+)|(?<s>kw)=(?<v>\w+)
    这样写很复杂,有没有更简单一点的呢?
      

  7.   

    如果有其它用途的话你就只能一个一个取了。
    (?<=\W|^)(charset|cateid|id|kw)=\w+
    (charset|cateid|id|kw)\w+代替就是任意关键字了。