有一个网页经过一些处理后会有这样的一个字符串

USD[u]78.0[\u]lots[u]1[\u]([u]lots[\u])USD[u]78.00[\u]买家备注:交货截止日:2009121412:42运输方式:EMSSubtotal:USD78.0ShippingCost:+USD0.0Total:USD78.0发货信息CompanyName:ContactName:ElenaDimitryushkinaAddressLine1:apartadodecorreos134AddressLine2:City:CallosadeseguraState:AlicanteCountry:SpainEMS网站无法确认妥投的国家目录PostalCode:03360PhoneNumber:34669560014京ICP证050092号关于我们|联系我们|招贤纳士|隐私说明|服务条款|敦煌大学Copyright?2008DHgate.comAllrightsreserved
.”
怎么用正则表达式匹配有下划线的字符串
可以一个一个匹配的

解决方案 »

  1.   

    USD78.0lots1(lots)USD78.00买家备注:交货截止日:2009121412:42运输方式:EMSSubtotal:USD78.0ShippingCost:+USD0.0Total:USD78.0发货信息CompanyName:ContactName:ElenaDimitryushkinaAddressLine1:apartadodecorreos134AddressLine2:City:CallosadeseguraState:AlicanteCountry:SpainEMS网站无法确认妥投的国家目录PostalCode:03360PhoneNumber:34669560014京ICP证050092号关于我们|联系我们|招贤纳士|隐私说明|服务条款|敦煌大学Copyright?2008DHgate.comAllrightsreserved.
    要把标出来的字符串给抓取出来
      

  2.   

    try...\[u\].*?\[\\u\]
    //还是这个
    (?<=\[u\]).*?(?=\[\\u\])
      

  3.   

    要不就匹配
    USD78.0lots1(lots)USD78.00
    这个里面的数字,小数要要的哦
      

  4.   

    非要写全吗?Regex reg = new Regex(@"(?i)(?<=\[u\]).*?(?=\[\\u\])");
      

  5.   

    USD78.0lots1(lots)USD78.00USD79.0lots2(lots)USD158.00USD78.0lots10(lots)USD780.00USD7.0lots1(lots)USD7.00USD7.0lots10(lots)USD70.0
    如上的一个字符串,怎么把它拆成
    USD78.0lots1(lots)USD78.00
    USD79.0lots2(lots)USD158.00
    USD78.0lots10(lots)USD780.00
    USD7.0lots1(lots)USD7.00
    USD7.0lots10(lots)USD70.0
    这样的数组?
      

  6.   

    你的需求能不能固定下来,一会下划线,一会提取,一会又拆分的            string test = @"USD[u]78.0[\u]lots[u]1[\u]([u]lots[\u])USD[u]78.00[\u]买家备注:交货截止日:2009121412:42运输方式:EMSSubtotal:USD78.0ShippingCost:+USD0.0Total:USD78.0发货信息CompanyName:ContactName:ElenaDimitryushkinaAddressLine1:apartadodecorreos134AddressLine2:City:CallosadeseguraState:AlicanteCountry:SpainEMS网站无法确认妥投的国家目录PostalCode:03360PhoneNumber:34669560014京ICP证050092号关于我们|联系我们|招贤纳士|隐私说明|服务条款|敦煌大学Copyright?2008DHgate.comAllrightsreserved";
                Regex reg = new Regex(@"(?i)(?<=\[u\]).*?(?=\[\\u\])");
                MatchCollection mc = reg.Matches(test);
                foreach (Match m in mc)
                {
                    richTextBox2.Text += m.Value + "\n";
                }
    /*--------输出--------
    78.0
    1
    lots
    78.00
    */
      

  7.   

    有一点你弄错了。。
    字符串里没有[u]和[\u]的。这个是csdn的下划线,我自己写的竟然没用处
      

  8.   


    我无语
    自己加又不说明白,我弄错了,哈哈,话原来可以这样说的页面上看到的下划线,根本不能作为你待匹配的源字符串的特征,源字符串是要带HTML标签的,才能区分哪些是需要匹配的,哪些是不需要的
    如果这样说你还不明白,那也也只能围观了
      

  9.   

    呵,算啦,谋杀了点脑细胞总算解决了。。
    在这里谢谢lxcnn,虽然有点沟通问题,但是你的答案还是让我找到了点思路,再次谢谢