(?is)<a(?:(?!href=).)*href=(['""]?)(?<url>([http://bj.xxxx.com/xxxxss/])+(\d{10,18})+([x].)+([shtml]{0,5}))[^>]*>(?<text>(?:(?!</?a\b).)*)</a>大家帮我看一下,为什么这个正则表达式在c#中,提示分析不足啊,看了很久,实在没找到原因。正在分析“(?is)<a(?:(?!href=).)*href=(['""]?)(?<url>([http://bj.xxxx.com/xxxxss/])+(\d{10,18})+([x].)+([shtml]{0,5}))[^>]*>(?<text>(?:(?!</?a\b).)*)</a>”- ) 不足。

解决方案 »

  1.   

    没有报错啊
    Regex.Matches("dddddddddddd",@"(?is)<a(?:(?!href=).)*href=(['""]?)(?<url>([http://bj.xxxx.com/xxxxss/])+(\d{10,18})+([x].)+([shtml]{0,5}))[^>]*>(?<text>(?:(?!</?a\b).)*)</a>");
      

  2.   

    我的正则表达式字符串是从数据库里提取出来的。不知道@能不能起作用。其实是这样的
    string ss=dr["val"];
    ss=(?is)<a(?:(?!href=).)*href=(['""]?)(?<url>([http://bj.xxxx.com/xxxxss/])+(\d{10,18})+([x].)+([shtml]{0,5}))[^>]*>(?<text>(?:(?!</?a\b).)*)</a>Regex.Matches("dddddddddddd",@ss);这样写,不知道会不会有问题。
      

  3.   

    (?is)<a[^>]*?href=(['""]?)(?<url>(https?://bj\.xxxx\.com/xxxxss/)?(\d{10,18})+(x\.)+((?:shtml){0,5}))[^>]*?>(?<text>[^<>]*?)</a>
      

  4.   

    没有@ss这种写法,先把ss的值输出界面上,看看是否是这个值。
      

  5.   

    看了一下主要是href=(['""]中的引号问题