现在的位置: 首页 > 综合 > 正文

正则表达式之分组

2013年10月04日 ⁄ 综合 ⁄ 共 2034字 ⁄ 字号 评论关闭

<input type="submit" name="CurList:CurTable:_ctl1:Button1" value="Add to Cart" id="CurList_CurTable__ctl1_Button1" class="add" />
    Gold 1,000
    <br />
    <span class="sale">
     $24.95
    </span>
<input[^>]*?type=""submit""[^>]*?>/s+(?<goldAmend>[^<]*?)<br[^>]*?>/s+<span[^>]*?>/s+(?<price>[^<]*?)</span>
----------------------------
<strong><a href="http://www.test.com/Virtuelle-Gueter/World-of-Warcraft/Deutsche-Server/Aegwynn/1000-WOW-Gold-auf-Aegwynn::593.html?MSsid=htdirbqj1tle1ggu6krnbtoqf3"
class="standard_link">1000 WOW Gold auf Aegwynn</a></strong>
</td>
</tr>
<tr>
<td colspan="2">
<p>
Die von Ihnen georderten 1000 Gold auf Aegwynn werden nach Eingang der Zahlung an Ihren Charakter ermittelt. Der Transfer erfolgt per Ingamepost.
</p>
</td>
</tr>
<tr>
<td align="right" class="main" colspan="2">
<strong>
<span style="line-height:200%"> ab   11,71 EUR</span>
</strong>

<strong><a[^>]*?>(?<goldAmend>[^<]*?)</a></strong>/s+</td>/s+</tr>/s+<tr>/s+<td[^>]*?>/s+<p>(?<noget>[^<]*?)</p>/s+</td>/s+</tr>/s+<tr>/s+<td[^>]*?>/s+<strong>/s+<span[^>]*?>(?<priceA>[^<]*?)</span>
------------------------------
 MatchCollection mc = Regex.Matches(myStr, @"<td[^>]*?><h3[^>]*?><a[^>]*?>(?<goldAmend>[^<]*?)</a></h3><div[^>]*?></div></td>(?<noget>[^<]*?)<td[^>]*?><del>(?<noget>[^<]*?)</del><span>(?<price>[^<]*?)<", RegexOptions.IgnoreCase);
                     
if (mc.Count > 0)
{
                      
      foreach (Match m in mc)
      {
            string _goldAmend = m.Groups["goldAmend"].Value.ToString().Trim();
      }
}

如以下是一个以#的正则替换例子

                    MatchCollection mc = Regex.Matches(Strsql, @"/w|and|exec|insert|select|delete|update|count|master|truncate|declare|char\(|chr\(|mid\(|/w", RegexOptions.Compiled | RegexOptions.IgnoreCase);
                    if (mc.Count > 0)
                    {

                        foreach (Match m in mc)
                        {
                            string str1 = m.Groups[0].Value.ToString();
                            Strsql = Strsql.Replace(str1, "");
                        }
                    }

--------------------------

http://www.com.com/reg.aspx?pid=1000&sid=100258

pid=(?<pid>[^&]*)&sid=(?<sid>[^&]*)

取出pid,sid参数值

[?=&](?<key>[^&]*=[^&]*)

可以列出所有的参数列表

--------------------------

 

抱歉!评论已关闭.