我在textbox里输入一个正则表达式(?is)(?<=<tr[^>]*>\s*<td[^>]*>\s*<a.*?href=")[^"]+(?=">)
但我从数据库中取出时就变成了(?is)(?<=<tr[^>]*>\\s*<td[^>]*>\\s*<a.*?href=\")[^\"]+(?=\">),怎样才能不被转义呢

解决方案 »

  1.   

    偶用SQL2005不会,你在什么环境下被转义的:declare @t table(a varchar(80))
    insert @t
    select '(?is)(? <= <tr[^>]*>\s* <td[^>]*>\s* <a.*?href=")[^"]+(?=">)'select * from @t 
    /*
    a
    --------------------------------------------------------------------------------
    (?is)(? <= <tr[^>]*>\s* <td[^>]*>\s* <a.*?href=")[^"]+(?=">)(1 行受影响)
    */
      

  2.   

    代码里控制
    string s = @"(?is)(? <= <tr[^>]*>\s* <td[^>]*>\s* <a.*?href=")[^"]+(?=">) "
      

  3.   

    我在vs2005下添加到数据库,再在C#取出后就变成了(?is)(? <= <tr[^>]*>\\s* <td[^>]*>\\s* <a.*?href=\")[^\"]+(?=\">)这样的,就不能取出我想得到的东西,我想从数据库中取后,显示在textbox里的是:(?is)(? <= <tr[^>]*>\s* <td[^>]*>\s* <a.*?href=")[^"]+(?=">) 
      

  4.   

    你可以先在SQL后台看是否正确,先确定是插入的时候被转义还是读取的时候被转义,再对证下药。
      

  5.   

    我看过了,我转在textbox里时再点保存,断点看是在存入数据库时textbox.text里就被转义了