国产凹凸在线-国产拗女一区二区三区-国产白白视-国产白领-国产白拍-国产白丝jk被疯狂输-国产白丝喷-国产白丝在线

金喜正规买球

解讀 C# 中的正則表達(dá)式

翻譯|其它|編輯:郝浩|2008-01-21 10:27:02.000|閱讀 794 次

概述:

# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷(xiāo)售中 >>

  多少年來(lái),許多的編程語(yǔ)言和工具都包含對(duì)正則表達(dá)式的支持,.NET基礎(chǔ)類(lèi)庫(kù)中包含有一個(gè)名字空間和一系列可以充分發(fā)揮規(guī)則表達(dá)式威力的類(lèi),而且它們也都與未來(lái)的Perl 5中的規(guī)則表達(dá)式兼容。
  
  此外,regexp類(lèi)還能夠完成一些其他的功能,例如從右至左的結(jié)合模式和表達(dá)式的編輯等。
  
  在這篇文章中,我將簡(jiǎn)要地介紹System.Text.RegularExpression中的類(lèi)和方法、一些字符串匹配和替換的例子以及組結(jié)構(gòu)的詳細(xì)情況,最后,還會(huì)介紹一些你可能會(huì)用到的常見(jiàn)的表達(dá)式。
  
應(yīng)該掌握的基礎(chǔ)知識(shí)
  規(guī)則表達(dá)式的知識(shí)可能是不少編程人員“常學(xué)常忘”的知識(shí)之一。在這篇文章中,我們將假定你已經(jīng)掌握了規(guī)則表達(dá)式的用法,尤其是Perl 5中表達(dá)式的用法。.NET的regexp類(lèi)是Perl 5中表達(dá)式的一個(gè)超集,因此,從理論上說(shuō)它將作為一個(gè)很好的起點(diǎn)。我們還假設(shè)你具有了C#的語(yǔ)法和.NET架構(gòu)的基本知識(shí)。
  
  如果你沒(méi)有規(guī)則表達(dá)式方面的知識(shí),我建議你從Perl 5的語(yǔ)法著手開(kāi)始學(xué)習(xí)。在規(guī)則表達(dá)式方面的權(quán)威書(shū)籍是由杰弗里·弗雷德?tīng)柧帉?xiě)的《掌握表達(dá)式》一書(shū),對(duì)于希望深刻理解表達(dá)式的讀者,我們強(qiáng)烈建議閱讀這本書(shū)。
  
RegularExpression組合體
  regexp規(guī)則類(lèi)包含在System.Text.RegularExpressions.dll文件中,在對(duì)應(yīng)用軟件進(jìn)行編譯時(shí)你必須引用這個(gè)文件,例如:
csc r:System.Text.RegularExpressions.dll foo.cs
命令將創(chuàng)建foo.exe文件,它就引用了System.Text.RegularExpressions文件。
  
名字空間簡(jiǎn)介
  在名字空間中僅僅包含著6個(gè)類(lèi)和一個(gè)定義,它們是:
  
  Capture: 包含一次匹配的結(jié)果;
  CaptureCollection: Capture的序列;
  Group: 一次組記錄的結(jié)果,由Capture繼承而來(lái);
  Match: 一次表達(dá)式的匹配結(jié)果,由Group繼承而來(lái);
  MatchCollection: Match的一個(gè)序列;
  MatchEvaluator: 執(zhí)行替換操作時(shí)使用的代理;
  Regex: 編譯后的表達(dá)式的實(shí)例。
  Regex類(lèi)中還包含一些靜態(tài)的方法:
  Escape: 對(duì)字符串中的regex中的轉(zhuǎn)義符進(jìn)行轉(zhuǎn)義;
  IsMatch: 如果表達(dá)式在字符串中匹配,該方法返回一個(gè)布爾值;
  Match: 返回Match的實(shí)例;
  Matches: 返回一系列的Match的方法;
  Replace: 用替換字符串替換匹配的表達(dá)式;
  Split: 返回一系列由表達(dá)式?jīng)Q定的字符串;
  Unescape:不對(duì)字符串中的轉(zhuǎn)義字符轉(zhuǎn)義。
  
簡(jiǎn)單匹配
  我們首先從使用Regex、Match類(lèi)的簡(jiǎn)單表達(dá)式開(kāi)始學(xué)習(xí)。
  
Match m = Regex.Match("abracadabra", "(a|b|r)+");
  
我們現(xiàn)在有了一個(gè)可以用于測(cè)試的Match類(lèi)的實(shí)例,例如:if (m.Success)...
如果想使用匹配的字符串,可以把它轉(zhuǎn)換成一個(gè)字符串:
  
Console.WriteLine("Match="+m.ToString());
  
這個(gè)例子可以得到如下的輸出: Match=abra。這就是匹配的字符串了。
  
字符串的替換
  簡(jiǎn)單字符串的替換非常直觀(guān)。例如下面的語(yǔ)句:
  
string s = Regex.Replace("abracadabra", "abra", "zzzz");
  
它返回字符串zzzzcadzzzz,所有匹配的字符串都被替換成了zzzzz。
  現(xiàn)在我們來(lái)看一個(gè)比較復(fù)雜的字符串替換的例子:
  
string s = Regex.Replace(" abra ", @"^\s*(.*?)\s*$", "$1");
  
這個(gè)語(yǔ)句返回字符串a(chǎn)bra,其前導(dǎo)和后綴的空格都去掉了。
  
  上面的模式對(duì)于刪除任意字符串中的前導(dǎo)和后續(xù)空格都非常有用。在C#中,我們還經(jīng)常使用字母字符串,在一個(gè)字母字符串中,編譯程序不把字符“ \” 作為轉(zhuǎn)義字符處理。在使用字符“\”指定轉(zhuǎn)義字符時(shí),@"..."是非常有用的。另外值得一提的是$1在字符串替換方面的使用,它表明替換字符串只能包含被替換的字符串。
  
匹配引擎的細(xì)節(jié)
  現(xiàn)在,我們通過(guò)一個(gè)組結(jié)構(gòu)來(lái)理解一個(gè)稍微復(fù)雜的例子。看下面的例子:
  
string text = "abracadabra1abracadabra2abracadabra3";
  
    string pat = @"
  
      ( # 第一個(gè)組的開(kāi)始
  
       abra # 匹配字符串a(chǎn)bra
  
       ( # 第二個(gè)組的開(kāi)始
  
       cad # 匹配字符串cad
  
       )? # 第二個(gè)組結(jié)束(可選)
  
      ) # 第一個(gè)組結(jié)束
  
      + # 匹配一次或多次
  
      ";
  
    //利用x修飾符忽略注釋
  
    Regex r = new Regex(pat, "x");
  
    //獲得組號(hào)碼的清單
  
    int[] gnums = r.GetGroupNumbers();
  
    //首次匹配
  
    Match m = r.Match(text);
  
    while (m.Success)
  
     {
  
    //從組1開(kāi)始
  
     for (int i = 1; i < gnums.Length; i++)
  
      {
  
      Group g = m.Group(gnums[i]);
  
    //獲得這次匹配的組
  
      Console.WriteLine("Group"+gnums[i]+"=["+g.ToString()+"]");
  
    //計(jì)算這個(gè)組的起始位置和長(zhǎng)度
  
      CaptureCollection cc = g.Captures;
  
      for (int j = 0; j < cc.Count; j++)
  
       {
  
       Capture c = cc[j];
  
       Console.WriteLine(" Capture" + j + "=["+c.ToString()
  
         + "] Index=" + c.Index + " Length=" + c.Length);
  
       }
  
      }
  
    //下一個(gè)匹配
  
     m = m.NextMatch();
  
     }
  
 這個(gè)例子的輸出如下所示:
     
    Group1=[abra]
  
        Capture0=[abracad] Index=0 Length=7
  
        Capture1=[abra] Index=7 Length=4
  
    Group2=[cad]
  
        Capture0=[cad] Index=4 Length=3
  
    Group1=[abra]
  
        Capture0=[abracad] Index=12 Length=7
  
        Capture1=[abra] Index=19 Length=4
  
    Group2=[cad]
  
        Capture0=[cad] Index=16 Length=3
  
    Group1=[abra]
  
        Capture0=[abracad] Index=24 Length=7
  
        Capture1=[abra] Index=31 Length=4
  
    Group2=[cad]
  
        Capture0=[cad] Index=28 Length=3
  我們首先從考查字符串pat開(kāi)始,pat中包含有表達(dá)式。第一個(gè)capture是從第一個(gè)圓括號(hào)開(kāi)始的,然后表達(dá)式將匹配到一個(gè)abra。第二個(gè)capture組從第二個(gè)圓括號(hào)開(kāi)始,但第一個(gè)capture組還沒(méi)有結(jié)束,這意味著第一個(gè)組匹配的結(jié)果是abracad ,而第二個(gè)組的匹配結(jié)果僅僅是cad。因此如果通過(guò)使用?符號(hào)而使cad成為一項(xiàng)可選的匹配,匹配的結(jié)果就可能是abra或abracad。然后,第一個(gè)組就會(huì)結(jié)束,通過(guò)指定+符號(hào)要求表達(dá)式進(jìn)行多次匹配。
  
  現(xiàn)在我們來(lái)看看匹配過(guò)程中發(fā)生的情況。首先,通過(guò)調(diào)用Regex的constructor方法建立表達(dá)式的一個(gè)實(shí)例,并在其中指定各種選項(xiàng)。在這個(gè)例子中,由于在表達(dá)式中有注釋?zhuān)虼诉x用了x選項(xiàng),另外還使用了一些空格。打開(kāi)x選項(xiàng),表達(dá)式將會(huì)忽略注釋和其中沒(méi)有轉(zhuǎn)義的空格。
  
  然后,取得表達(dá)式中定義的組的編號(hào)的清單。你當(dāng)然可以顯性地使用這些編號(hào),在這里使用的是編程的方法。如果使用了命名的組,作為一種建立快速索引的途徑這種方法也十分有效。
  
  接下來(lái)是完成第一次匹配。通過(guò)一個(gè)循環(huán)測(cè)試當(dāng)前的匹配是否成功,接下來(lái)是從group 1開(kāi)始重復(fù)對(duì)組清單執(zhí)行這一操作。在這個(gè)例子中沒(méi)有使用group 0的原因是group 0是一個(gè)完全匹配的字符串,如果要通過(guò)收集全部匹配的字符串作為一個(gè)單一的字符串,就會(huì)用到group 0了。
  
  我們跟蹤每個(gè)group中的CaptureCollection。通常情況下每次匹配、每個(gè)group中只能有一個(gè)capture,但本例中的Group1則有兩個(gè)capture:Capture0和Capture1。如果你僅需要Group1的ToString,就會(huì)只得到abra,當(dāng)然它也會(huì)與abracad匹配。組中ToString的值就是其CaptureCollection中最后一個(gè)Capture的值,這正是我們所需要的。如果你希望整個(gè)過(guò)程在匹配abra后結(jié)束,就應(yīng)該從表達(dá)式中刪除+符號(hào),讓regex引擎知道我們只需要對(duì)表達(dá)式進(jìn)行匹配。
  
基于過(guò)程和基于表達(dá)式方法的比較
  一般情況下,使用規(guī)則表達(dá)式的用戶(hù)可以分為以下二大類(lèi):第一類(lèi)用戶(hù)盡量不使用規(guī)則表達(dá)式,而是使用過(guò)程來(lái)執(zhí)行一些需要重復(fù)的操作;第二類(lèi)用戶(hù)則充分利用規(guī)則表達(dá)式處理引擎的功能和威力,而盡可能少地使用過(guò)程。
  
  對(duì)于我們大多數(shù)用戶(hù)而言,最好的方案莫過(guò)于二者兼而用之了。我希望這篇文章能夠說(shuō)明.NET語(yǔ)言中regexp類(lèi)的作用以及它在性能和復(fù)雜性之間的優(yōu)、劣點(diǎn)。
  
基于過(guò)程的模式
  我們?cè)诰幊讨薪?jīng)常需要用到的一個(gè)功能是對(duì)字符串中的一部分進(jìn)行匹配或其他一些對(duì)字符串處理,下面是一個(gè)對(duì)字符串中的單詞進(jìn)行匹配的例子:
string text = "the quick red fox jumped over the lazy brown dog.";
  
    System.Console.WriteLine("text=[" + text + "]");
  
    string result = "";
  
    string pattern = @"\w+|\W+";
  
    foreach (Match m in Regex.Matches(text, pattern))
  
     {
  
    // 取得匹配的字符串
  
     string x = m.ToString();
  
    // 如果第一個(gè)字符是小寫(xiě)
  
     if (char.IsLower(x[0]))
  
    // 變成大寫(xiě)
  
      x = char.ToUpper(x[0]) + x.Substring(1, x.Length-1);
  
    // 收集所有的字符
  
     result += x;
  
     }
  
    System.Console.WriteLine("result=[" + result + "]");
  
   正象上面的例子所示,我們使用了C#語(yǔ)言中的foreach語(yǔ)句處理每個(gè)匹配的字符,并完成相應(yīng)的處理,在這個(gè)例子中,新創(chuàng)建了一個(gè)result字符串。這個(gè)例子的輸出所下所示:
  
  text=[the quick red fox jumped over the lazy brown dog.]
  
  result=[The Quick Red Fox Jumped Over The Lazy Brown Dog.]
  
基于表達(dá)式的模式
  完成上例中的功能的另一條途徑是通過(guò)一個(gè)MatchEvaluator,新的代碼如下所示:
  
static string CapText(Match m)
  
      {
  
    //取得匹配的字符串
  
      string x = m.ToString();
  
    // 如果第一個(gè)字符是小寫(xiě)
  
      if (char.IsLower(x[0]))
  
    // 轉(zhuǎn)換為大寫(xiě)
  
       return char.ToUpper(x[0]) + x.Substring(1, x.Length-1);
  
      return x;
  
      }
  
      
  
     static void Main()
  
      {
  
      string text = "the quick red fox jumped over the
  
       lazy brown dog.";
  
      System.Console.WriteLine("text=[" + text + "]");
  
      string pattern = @"\w+";
  
      string result = Regex.Replace(text, pattern,
  
     new MatchEvaluator(Test.CapText));
  
      System.Console.WriteLine("result=[" + result + "]");
  
      }
  
  同時(shí)需要注意的是,由于僅僅需要對(duì)單詞進(jìn)行修改而無(wú)需對(duì)非單詞進(jìn)行修改,這個(gè)模式顯得非常簡(jiǎn)單。
常用表達(dá)式
  為了能夠更好地理解如何在C#環(huán)境中使用規(guī)則表達(dá)式,我寫(xiě)出一些對(duì)你來(lái)說(shuō)可能有用的規(guī)則表達(dá)式,這些表達(dá)式在其他的環(huán)境中都被使用過(guò),希望能夠?qū)δ阌兴鶐椭?
  
羅馬數(shù)字
string p1 = "^m*(d?c{0,3}|c[dm])" + "(l?x{0,3}|x[lc])(v?i{0,3}|i[vx])$";
  
    string t1 = "vii";
  
    Match m1 = Regex.Match(t1, p1);
  
交換前二個(gè)單詞
string t2 = "the quick brown fox";
  
    string p2 = @"(\S+)(\s+)(\S+)";
  
    Regex x2 = new Regex(p2);
  
    string r2 = x2.Replace(t2, "$3$2$1", 1);
  
關(guān)健字=值
string t3 = "myval = 3";
  
    string p3 = @"(\w+)\s*=\s*(.*)\s*$";
  
    Match m3 = Regex.Match(t3, p3);
  
實(shí)現(xiàn)每行80個(gè)字符
string t4 = "********************"
  
     + "******************************"
  
     + "******************************";
  
    string p4 = ".{80,}";
  
    Match m4 = Regex.Match(t4, p4);
  
月/日/年 小時(shí):分:秒的時(shí)間格式
string t5 = "01/01/01 16:10:01";
  
    string p5 = @"(\d+)/(\d+)/(\d+) (\d+):(\d+):(\d+)";
  
    Match m5 = Regex.Match(t5, p5);
  
改變目錄(僅適用于Windows平臺(tái))
string t6 = @"C:\Documents and Settings\user1\Desktop\";
  
  string r6 = Regex.Replace(t6,@"\\user1\\", @"\\user2\\");
  
擴(kuò)展16位轉(zhuǎn)義符
string t7 = "%41"; // capital A
  
    string p7 = "%([0-9A-Fa-f][0-9A-Fa-f])";
  
    string r7 = Regex.Replace(t7, p7, HexConvert);
  
刪除C語(yǔ)言中的注釋?zhuān)ㄓ写晟疲?br /> string t8 = @"
  
    /*
  
     * 傳統(tǒng)風(fēng)格的注釋
  
     */
  
    ";
  
    string p8 = @"
  
     /\* # 匹配注釋開(kāi)始的定界符
  
     .*? # 匹配注釋
  
     \*/ # 匹配注釋結(jié)束定界符
  
    ";
  
    string r8 = Regex.Replace(t8, p8, "", "xs");
  
刪除字符串中開(kāi)始和結(jié)束處的空格
string t9a = " leading";
  
    string p9a = @"^\s+";
  
    string r9a = Regex.Replace(t9a, p9a, "");
  
    string t9b = "trailing ";
  
    string p9b = @"\s+$";
  
    string r9b = Regex.Replace(t9b, p9b, "");
  
在字符\后添加字符n,使之成為真正的新行
string t10 = @"\ntest\n";
  
    string r10 = Regex.Replace(t10, @"\\n", "\n");
  
轉(zhuǎn)換IP地址
string t11 = "55.54.53.52";
  
    string p11 = "^" +
  
     @"([01]?\d\d|2[0-4]\d|25[0-5])\." +
  
     @"([01]?\d\d|2[0-4]\d|25[0-5])\." +
  
     @"([01]?\d\d|2[0-4]\d|25[0-5])\." +
  
     @"([01]?\d\d|2[0-4]\d|25[0-5])" +
  
     "$";
  
    Match m11 = Regex.Match(t11, p11);
  
刪除文件名包含的路徑
string t12 = @"c:\file.txt";
  
    string p12 = @"^.*\\";
  
    string r12 = Regex.Replace(t12, p12, "");
  
聯(lián)接多行字符串中的行
string t13 = @"this is
  
    a split line";
  
    string p13 = @"\s*\r?\n\s*";
  
    string r13 = Regex.Replace(t13, p13, " ");
  
提取字符串中的所有數(shù)字
string t14 = @"
  
    test 1
  
    test 2.3
  
    test 47
  
    ";
  
    string p14 = @"(\d+\.?\d*|\.\d+)";
  
    MatchCollection mc14 = Regex.Matches(t14, p14);
  
找出所有的大寫(xiě)字母
string t15 = "This IS a Test OF ALL Caps";
  
    string p15 = @"(\b[^\Wa-z0-9_]+\b)";
  
    MatchCollection mc15 = Regex.Matches(t15, p15);
  
找出小寫(xiě)的單詞
string t16 = "This is A Test of lowercase";
  
    string p16 = @"(\b[^\WA-Z0-9_]+\b)";
  
    MatchCollection mc16 = Regex.Matches(t16, p16);
  
找出第一個(gè)字母為大寫(xiě)的單詞
string t17 = "This is A Test of Initial Caps";
  
    string p17 = @"(\b[^\Wa-z0-9_][^\WA-Z0-9_]*\b)";
  
    MatchCollection mc17 = Regex.Matches(t17, p17);
  
找出簡(jiǎn)單的HTML語(yǔ)言中的鏈接
string t18 = @"
  
    <html>
  
    <a href=""first.htm"">first tag text</a>
  
    <a href=""next.htm"">next tag text</a>
  
    </html>
  
    ";
  
    string p18 = @"<A[^>]*?HREF\s*=\s*[""']?" + @"([^'"" >]+?)[ '""]?>";
  
     MatchCollection mc18 = Regex.Matches(t18, p18, "si");


標(biāo)簽:

本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn

文章轉(zhuǎn)載自:個(gè)人博客

為你推薦

掃碼咨詢(xún)


添加微信 立即咨詢(xún)

電話(huà)咨詢(xún)

客服熱線(xiàn)
023-68661681

TOP
国产精品亚洲a∨天堂不卡 97在线观看免费视频观看 | 欧美在线人成 | 国产欧美一区二区精品婷婷 | 国产大片全黄在 | 国产人成77777视频网站 | 日韩电影免费在线观看中文字幕 | 日韩国产乱码一区中文字幕 | 男人的天堂!天天色亚洲 | 国产精品不卡一区二区 | 精品中文字幕 | 国产精品免费视频观看玖玖 | 精品国产污污免费网站入口 | 动画片大全大人动漫在线观看 | 色五月激情五月综合网五月天 | 欧美丝袜自拍制服另类 | 日本精品不卡在线观看 | 99亚洲电影国产不卡 | 国产对白国语对白 | 亚洲国产高清在线不卡 | 欧美色综合精品视频在线观看 | 在线人成免费视频69国产 | 日本高清不卡中文aⅴ | 精品香蕉伊思人在线观看 | 国产亚洲日韩在线播放人成 | 国产日韩在线欧美视频 | 日本护士毛茸茸xx | 国产精品成人h片在线 | 99国产精品婷婷 | 丝袜美腿中文字幕 | 日本一区二区三区视频免费看 | 成人精品一区二区三四 | 77色77国产欧美在线 | 国产一级a毛一级a看 | 忍不住的亲子中文字幕在线 | 欧洲女同免费视频网站 | 天天色成人免費 | 91福利一区二区 | 国产乱视频在线观看 | 女人被黑人巨大进入 | 国内20 | 日韩欧美精品综合一区二区三 | 国产日韩欧美视频免费看 | 成年人免费在线看的惊悚动作片 | 中文在线欧美亚洲制服 | www日韩中文字幕在线看 | 日本最大色倩网站www不卡 | 欧美日韩精品一区二区免费高清 | 国产91丝袜在线播放动漫蜜月 | 99精品国产高清一区 | 99精品欧美 | 激情文学综合区图片区小说区 | 亚洲国产第一区二区香蕉 | 北京国贸大酒店张津 | 国产l精品国产亚洲区在线观 | 国产凸凹视频一 | 91精品一区二区三区在线播放 | 欧美午夜不卡在线观看最新 | 精品日韩国产欧美视频 | 国产精品丝袜黑 | 欧美另类69 | 青青青国产女精品视频 | 国产精品欧美 | 国产精品自在自线视频 | 亚洲国产精品不卡高清在 | 福利体验区120秒免费观看 | 永久免费老妇女 | 韩国三级全部电影在线观看 | 亚洲精品无 | 亚洲一区二区三区人人 | 国产绿帽绿奴一区二区 | 欧美性爱影音九一 | 无人在线观看视频高清播放 | 熟女人妇 | 99精品电影一区二区免费看 | 欧美性色欧美a在线观看 | 91精品国产品香蕉在线 | 在线不卡视频 | 秋霞宅宅236理论片 日本国产中文字幕 | 高清在线播放不卡 | 一区二区三区四区在线观看视频 | 国产网红主播自拍视频在线观看 | 神马影院不卡不卡在线观看 | 欧美日韩精品在线视频一区 | 国产午夜亚洲精品不卡影院 | 日本高清另| 国产微拍精品一区二区 | 加勒比色 | 欧美日韩美女一级 | 日本欧美一区二区三区高清 | 国产经典在线观看一区 | 国产精品一区二区在线观看免费 | 国产福利一区二区三区在线观看 | 真实国产乱子伦 | 岛国一区二区 | 国产精品成人一区二区三区影院 | 韩国一级成a人片在线观看 日韩高清中文字幕在线观 变态拳头交视频一区二区 免费国产a国产片精品 | 很黄很色的免费视频在线观看 | 国色天香一卡二卡三卡四卡 | 国产黃色精品三級一区二区 | 国产乱理伦片在线观看夜色 | 视频一区在线观看 | 九九免费精品视频在这里 | 日韩欧美高清dvd碟片 | 野花论坛社区 | 97夜夜澡人人双人人人喊 | 玩弄老太婆的屁股眼 | 香蕉免费一区二区三区 | 国产高清对白在线观看免费91 | a在线观看网站 | 91国语精品自产拍在线观看 | 日本三级网站在线观看视频 | 国产+在 | 日本特大a级猛片在线观看 丝袜线观看 | 日本在线看片网站 | 在线观看国产福利91啪 | 免费的污污的网站在线观看 | 国产一区二区精品免费播放 | 加勒比一本大道香 | 欧洲日韩视频在线观看 | 国产精品首页熟女 | 日韩精品区 | 国产极品精频在线观看 | 欧美成a高清在线观看www | 欧美日韩大片在线观看 | 中文亚洲欧美日韩无线码 | 成人激情电影免费在线观看 | 国产亚洲精 | 欧美另类69 | 国产精品视频大陆精大陆 | 精品国产免费人成电影在线观看 | 国产精品亚洲а∨怡红院 | 中文字幕在线视频观看网站 | 精品日韩一区二区三区四区五 | 精品国产一区二区三区免费 | 日韩欧美亚洲一区二区在线观看 | 日韩国产制服在线 | 精品一区二区三区日韩 | 日韩中文字幕不卡 | 欧美怡红院在 | 欧美亚洲 | 亚洲欧美视频一区二区三区 | 日韩欧美国产91丝袜 | 欧洲精品免费一区二区三区 | 欧美日韩一道在线 | 免费人成在线观看vr网站 | 经典a三级在线理论香港 | 日本网站在线播放 | 日本全部一级视频 | 亚洲中文字幕丝袜制服视频 | 欧美日韩高清国产aⅴ一区 四区免费视频 | 激情文学小说区另 | 免费下载| 国产91刘玥在线观看 | 欧美日韩精品一区二区视频 | 天天色综合色 | 日韩精品一区二区在线观看 | 国产真实自在自线免费精品 | 日本精产品久观看视频下站 | 日本国产欧美日韩三区四区 | 亚洲电影免费看 | 成人高清网站 | 免费阿v网站在线观看g | 国产日产综合综合 | 香蕉在线一本大道 | 国产不卡免费午夜福利 | 最近中文字幕mv免费高清视频 | 国产女主播一区 | 日韩视频中文字幕视频一区 | 国产亚洲精品午夜福利巨大 | 国产精品美女视视频 | 羞羞影院成人午夜爽爽在线 | 欧美a级v片在线观看 | 国产在线精品一区免费香蕉 | 免费在线观看 | 国产日产欧产系列精品 | 在线国产自偷自拍视频 | 国产视讯手机在线播放 | 欧美日本一道免费一区三区 | 综合激情在线 | 亚洲mv大片欧洲mv大片入口 | 精品国产aⅴ一区天美传媒 欧美日本二区 | 精品国产一区二区三区香蕉 | 成人精品一区二 | 欧美亚洲中文字幕免费观看 | 欧美性爱欧美日韩 | 亚洲国产人成在线观看 | 欧美欧美日韩综合一区天 | 日韩精品福利 | 国产熟女精品专区 | 国产免费不卡v片在线观看 国产99re这里只有精品9 | 91国在线精品国内播放 | 99综合色| 欧美无砖专区一中文字幕 | 日韩免费十五页视频 | 另类欧美区综合区图片区 | 国产v片在线播 | 自偷自拍三级全 | 国语对白精品一区二区在线观看 | 国产日韩欧美另类 | 亚洲一区二区国产精品 | 免费激情视频网站 | 亚洲综合亚洲综合网成人 | 欧美日韩精品一区二区视频 | 日韩午夜理论 | 亚洲高清国产一区二区三区电影 | 国产乱码精品一区二区三区卡 | 欧美色哟哟在线 | home视频在线观看日本 | 国产精品九九九午夜 | 国产超级 | 日本三级在线播放 | 成人www视频网站免费观看 | 夫妇交换性4中文字 | 粗大的内捧猛烈进出在线视频 | 欧美日韩免费高清一区二区三区 | 草莓视频免费观看 | 日韩一品二品三品 | 91视频国产亚洲精品 | 91系列在线观看免 | 国产一级特黄一级毛 | 日韩18 | 日韩精品中文字幕在线 | 亚洲日本在线中文字幕 | 羞羞影院午夜男女爽爽影 | 欧美激情一区二区三区成人 | 亚洲天天做日日做天天谢日日欢 | 国产又欲又色的视频在线观看 | 日韩欧美精品国产亚洲综合网站 | 92在线精品| 泬喷潮漫画 | 国产精品h片在线播放 | 欧美国产激情在线播放 | 日本va午 | 国产suv精品一区二区 | 污污污污污免费网站在线观看 | 女人扒开屁股爽桶30分钟免费 | 日韩欧美中文精品电影 | 国产欧美日韩精品视频一区二区 | 艾栗栗国产精品视频一区 | 日韩精品成人亚洲欧美在线 | 精品国产—亚洲人成在线 | 日韩欧美精品图片在线 | 日本视频 | 蜜桃视频 | 国产精品三级不卡电影 | 精品国产一区二区三区香蕉欧美 | 国产欧洲野花a级 | 亚洲一区二区三区高清 | 欧美高清免费一 | 看全色黄大色黄大片女爽一黄 | 精精国产xxxx视频在线播放 | 在在线播放| 看全色黄大色黄大片女爽一黄 | 国产小视频在线观看www | 欧美一性一乱一交一视频 | 精品一卡| 欧美日韩国产亚洲沙发 | 欧美日韩深夜视频在线观看 | 99热只有精品在线观看 | 日韩国产欧美精品综 | 精品欧美不卡一区在线观看 | 亚洲国产精品第一区 | 国产日韩在线视看高清视频手机 | 91精品区 | 欧美最猛性xxxxx大叫 | 国产午夜福利在线观看污 | 国产精品社区在线观看 | 女女同性女同一区二区三区 | 亚洲欧美日韩在线精品一区二区 | 日本在线观看的免费 | 国产v片在线播放免费观看大全 | 亚洲色精品视频 | 国产伦精品一区二区三区视频金莲 | 日韩欧美亚免费高清视频 | 日本精品中文字幕在线播放 | 羞羞视频 | 国产乱码一区二区三区免费 | 国产精品日韩亚洲一区二区 | 老师脱了内裤让我进去 | 精品视频在线观看视频免费视频 | 日本カンタムデザイン株式会社 | 日韩综合第一页 | 国产精品久片 | 日本一区二区网站在线观看 | 国产午夜福利在线观看1000集 | 欧美视频日韩视频国产视频 | 亚洲2025天天堂在线观看 | 性色a∨人人 | 在线亚洲精 | 久热爱精品视频线路一 | 精品国产91乱码一区二区 | 丰满岳乱妇在线观看中字 | 国产熟女乱伦一区二区 | 色眯眯国产在线播 | 老司机天堂福利在线观看 | 乱子伦一区二区三区 | 奶水国产在线播放 | 国产福利在线小视频 | 国产精美视频在线观看 | 日韩欧美一区二区奇米 | 国产亚洲日韩欧美在线成 | 亚洲日韩精品一 | 日本三级国产综合 | 亚洲成a人片在线不卡一二三区 | aqd安全检测 | 一区二区三区四区精品视频 | 国产日韩视频在线播放 | 51国产黑色丝袜高跟鞋 | 久热中文字幕播 | 中文欧美乱码视频 | 国产免费网站看v片在线 | 日本一本二本三区免费2025高 | 91影视永久福利免费观看 | 亚洲香蕉国产高清在线播放 | 国产精品女主播阳台 | 91高清完整版在线观看 | 青春草在线视频免费观看 | 国产传媒在线观看视频免费观看 | 99精品蜜臀蜜 | 亚洲欧美日韩综合在线一区二 | 97在线观看免费视频观看 | 国语精品91自产拍在线观看二区 | 国产亚洲一区二区三区综合片 | 日韩美女高清免费视频 | 日本高清中 | 99精品国产高清一区二区 | 微拍秒拍福利一 | 国产日韩精品中文字幕视频一区 | 99精品国产福利在线观看 | 国产女主播一区二区精品视频 | 巨大免费播放 | 精品免费一区二区三 | 欧美高清色高清在线观看 | 欧美日韩一区二区三 | 欧美一级视频在线观看欧美 | 激情五月综合激情在线观看 | 国产国产乱老熟视频网站 | 国产l精品国产亚洲区在线观看 | 欧美?日韩?中文?日本18 | 91熟女视频| 九色91popny蝌蚪 | 精品免费国产一区二区三区四区五 | 国产一区二区视频在线播放 | 国产亚洲精品片a77777 | 一区二区三区免费视频 | 网友自拍区在线视频精品 | 国产精品色三级在线观看 | 国产九九在线视频 | 国产欧美日韩电影在线观看 | 日韩高清欧美精品亚洲 | 国产综合色在 | 国产在线精品福利91啪 | 又粗又硬又大又黄又爽的免 | 国产精品欧美久 | 日本一级婬片a | a一级农村片 | 国产偷国产偷亚洲高清app | 国产色综合久 | 国产影视乱伦综合 | 国产极品美女在线播放不卡 | 成人国产欧美日韩在线观看 | 国产精品欧美激情第21页 | 国产乱理伦片在线观看夜一区 | 中文一区二区三 | 国产在线男生视频亚洲 | 国产亚洲第一页电影 | 岛国一区二区三区视频在线观看 | 欧美国产精品三级a三级三级 | 阿v视频国产免在线手机观看 | 国产精品专区在线仙踪林 | 日产亚洲一区二区三区 | 国产高清在线视频一区 | 视频国产精品丝袜第一页 | 日韩精品搭讪在线视频播放 | 日本毛x片免费视频观看视频 | 国产精品一品二区三区的使用体验 | 精品国产欧美一区二区三区 | 亚洲一级淫片免费在线观看 | 91丝袜在线观看亚洲 | 国产精品欧美亚洲韩国日本 | 大伊香蕉在线观看视频 | 欧洲成人全免费视频网站 | 国产精品视频在这里有精品 | 欧美日韩亚洲国产无线码 | 亚洲国产日韩在线人成电影 | 狼群影院视频在线观看高清版 | 欧美日韩精美视频在线观看 | 亚洲精品天堂 | 精品国产欧美一 | 日韩中文网 | 国语自产拍在线观看对白 | 日本xxxxx片免费观看18 | 欧美传媒影 | 国产精品免费在线观看 | 91桃色在线 | 精品在线看 | 中文字幕在线精品男人的天堂 | 一区二区三区四区在线观看视频 | 午夜视频免费在线观看 | 国内精品视频一区二区在线观看 | 国产精品欧美 | 国产乱码一二 | 一区二区三区在线观看欧美日韩 | 国产热门视频在线播放 | 欧洲亚洲日韩中文字幕首页 | 亚洲精品一在线观看 | 国产九九视频在线观看 | 国产激情视频 | 日韩国产一区二区网站在线看 | 日本那些又骚又爽的视频 | 国产午夜亚洲精品不卡免下载 | 91精品电影 | 国产精品高清尿小 | 亚洲国产韩国欧美在线 | 最新一区二区激情不卡视频 | 欧洲精品| 亚洲码欧美码一区二区三区 | 日本激情在线看免费观看 | 国产最新精品精品视频 | 老司机在线精品视频网站 | 欧美日韩亚洲国产综合在线观 | 国产精品精品综合在线网 | 国产精品v欧美精品∨日韩 色与欲影视天天影视 | 亚洲制服丝袜一区二区三区 | 国产对白受不了69视频 | 日本中文 | 中文有码视频在 | 国产亚洲精品福利在线无卡一 | 星光影院 | 国产一级在线视频一区 | 国产特黄特色大片免费 | 真实国产乱子伦精品 | 久色资源免费的资源站 | 黄页网站在 | 泰国一级特黄在线观看大片 | 窝窝午夜理论片影院 | 日本特黄大片正在播放 | 亚洲国产精品视频免费观看 | 顶级欧美妇高清xxxxx | 色色福利| 国产日韩欧美在线不卡 | 韩国美女直播福利一区二区 | 国产精品簧片mv | 国产性爱在线视频 | 精品視頻無碼一區二區三區 | 综合三级在线观 | 欧美a级影院 | 绝色影视在线观看免费版电视剧 | 55精品视频在线 | 婷婷六月亚洲中文字幕不卡 | 日韩哦欧美在线 | 夜夜看天天想人人爱 | 国产黄大片在线观看好吊色 | 日韩乱码精品中文字幕不卡 | 亚洲日韩中 | 正在播放国产多p交换视频 成年网站免费视频黄a站 | 国产人伦激| 精品撒尿视频一区二区三区 | 性生生活12分钟免费 | 精品国产又大又长又爽 | 国产亚洲高清在线精品99 | 亚洲国产在线精品国偷产拍 | 精品aⅴ老 | 乱公和我做爽死我了 | 免费高清欧美亚洲视频 | 精品高清美女精品国产区 | 午夜福利在线观看国产精品 | 亚洲愉拍自拍欧美精品 | 免费人成网站在线观看欧美 | 国产精品欧美福利久 | 精品综合 | 日本高清一区二区在线 | 91精品国产品国语在线不卡 | 国产激情影视综合在线 | 91女神在线观看 | 免费高清亚 | 亚洲欧美国产日产综合不卡 | 国产老妇伦国产熟 | 亚洲免费公开视频在线观看 | 日韩在线不卡中文字幕一区 | 在线看推理网站 | 国产老熟 | 日韩一区二区免费看 | 成人一级电影视频 | 成年网站拍拍拍免费播放 | 成人欧美一区二区三区黑人冫 | 乱码一线二线三线新区破解欧 | 日本中文字幕网址 | 精品国产高清在线看91 | 欧美91成人亚洲播 | 国产精品亚洲а∨怡红院 | 传媒mv在线观看视频 | 丝袜在线播放 | 国产日韩乱码精品一区二区 | 最近日本免费观看mv免费版 | 国产香蕉尹人综合在线观看 | 99热视热频这 | 99久9久免费国产动漫 | 国产精品日产三级在线观看 | 亚洲国产精品一区二区www | 亚洲成a人片 | 实时更新国内外 | 欧美一区二区三区男人的天堂 | 91夜夜夜精品一区二区 | 精品亚洲永久免费精品9 | 亚洲一区二区三区乱 | 国产激情视频一区二区三区 | 免费国语高清电影电视剧动 | 国产精品爽刺激拍拍拍 | 午夜男女爽爽爽免费播放 | 日本精品在线 | 4399日本韩国电影高清完 | 色与欲影视天天影视 | 欧美精品亚洲精品日韩专区 | 国产女人成人精品视频 | 国产亚洲欧洲精品 | 国自产精品手机在线观看 | 三级黄日本| 欧美a级情欲片在线观看免费 | 成人激情电影 | 高清影视电视剧在线观看 | 国产三級精品专区 | 蜜桃视频在线观看免费播放 | 亚洲成国产人片在线观看 | 国产亚洲播放在线一区 | 日韩精品一区二区三区中文不卡 | 粗大的内捧 | 亚洲日本v | 欧美自拍偷拍一区二区 | 亚洲人成激情在线播放 | 国产成年大片免费视频播放 | 国产精品欧美电影 | 最近在线观看免费完整版高清电影 | 欧美日本高清阿v视频在线 97视频专区 | 66lu国产在线观看 | 欧美日韩国产综合一区精 | 欧美日韩国产一区二区三区在线 | 欧美日韩一区二区不卡 | 精品一区网友自拍偷拍第一页 | 免费大片黄国产在线观看 | 国内视频一区在线播放 | 日韩视频中文字幕精品偷拍 | 久操线在 | 国产亚洲欧美日韩综合一区 | 日本精品一区在线 | 热门电视剧追剧网站 | 亚洲人成a在线网站 | 精品一区二区国产 | 免费国产gay片在线观看 | 亚洲a级午夜线上看不卡 | 欧美精品一区三区在线观看 | 国产中文字幕在线观看 | 区二区导航| 国产一区二区视频不卡 | 欧美日韩一区二区三区视频在 | 日本阿v视频高清在线中文 银杏影视 | 小苹果www在线 | 国产精品女同一 | 国产专区欧美专区在线观看 | 日产精品二线三线 | 欧美日韩变态另类在线观看 | 国内永久福利在线视频 | 日韩经典欧美国产 | 乱码在线观看 | 亚洲欧美日韩另类中文字幕组 | 国产小视频免费在线观看 | 日韩在线一区二区三区免费视 | 国产超级| 亚洲精品国产精品乱码视色 | 日韩、欧美、中文三级 | 亚洲成a人a∨久在线观看 | 无人在线观看视频高清播放 | 国产日本精品视频 | 日产亚洲一卡2卡3卡4卡网站 | 国产小嫩货视频在线观看 | 懂色中文一区二区在线播放 | 欧洲中文字幕在线 | 日本乱妇乱子视频网站 | 国产真人做爰免费视频 | 在线人成免费 | 国产亚洲精品bt天堂精选 | 国产+欧美+激情 | 欧美激情国产一区在线不卡 | 国产精品一区二区日韩91 | 国产日韩欧美小视频 | 一区二区中文字幕在线 | 国产伦精品一区二区三区精品 | 男女刺激大片免费观 | 国产福利免费视频 | 欧美一区国产精品高清亚洲 | 国产乱子伦精品 | 国产一区二区三区a | 亚洲日本中文字幕一区二区三 | 午夜福利精品一区二区三区 | 亚洲日韩国产一区二区三区在线 | 欧美一级特黄aaa大片在线观看 | 在线天堂8 | 国产精品1卡2卡3卡4卡 | 国产伊人精品导航 | 精品女同国产99 | 成人午夜看片在线观看 | 电视剧大全免费全集观看 | 女人成午夜大片7777在线 | 日本午夜福利精品视频 | 一级a爱片免费视频在线观看 | 欧美日韩中文字幕一区二区高清 | 国产一区二区在 | 午夜一区二区免 | 欧美日韩国产精品自在线亚洲精品 | 免费国产污网站在线观看 | 日韩欧美一区二区三区视频在线 | 两性色午夜免费视频 | 国产精品自在拍在线播放大全 | 亚洲男人的 | www亚洲色大成网络.com | 亚洲码欧美码一区二区三区 | 国产免费高清 | 夜夜国产亚洲视频香蕉 | 在线免费观看国 | 精品人妖一区二区三区四区 | 国产精品天美传媒在线观看 | 日韩在线精品国产亚洲欧美 | 91啪日韩一区二区 | 成人性视频免费网站在线 | 日韩国产不卡在 | 国产+人+综合+亚洲 国产v的在线观看 | 国内老司机精品视频在线播出 | 免费人成在线观看视频品爱网 | 国产精品丝袜拍在线观看 | 日韩国产一区二区三区地区 | 国产黄三级精品在线观看播放 | 日本爽p大片免费观看 | 欧美精品午夜 | 日韩欧美亚洲国产永久在线观看 | 综合在线亚洲 | 亚洲男女在线 | 精品一区二区视频免费看 | 亚洲经典一区二区三区爱妃记歌词 | 国产亚洲日本欧美精 | 日本在线一区二 | 国内老熟夫对白hdxxxx | 国产在线综合免费午夜 | 91精品在线播放 | 国产精品综合一区二区在线观看 | 日韩vs欧美国产在线观看 | 国产xxx69麻 国产亚洲精品线观看不卡无毒 | 菠萝视频高清 | 国产精品人成在线播放新网站 | 91短视频福利导航 | 国产精品丝袜美腿在线 | 欧美日本一区 | 欧美人交a欧美 | 日韩一区二区视频在线 | 国产综合免费视频一区二区 | 午夜视频一区二区三区 | 欧美日韩国产另类不卡在线 | 欧美日韩视频在线观看网址 | 亚洲国产日韩欧美视频一区 | 日本中文字幕在线播放第1页 | 9191国| 日韩一级欧美一级二级在线观 | 国产福利在线观看免费第一福利 | 欧美五月婷婷开 | aⅴ人片在线观看 | 人成精品视频三区二区一区 | 亚洲国产精品福利片在线观看 | 国产欧美一区二区三区在线 | 免费国产又色又爽又黄的视频 | 欧美日韩日本中国高清视频在线 | 国产永久免费高清视频 | 国产日产欧美日韩一区二区 | 亚洲国产中文字幕在线观看 | 字幕一区在线观看视频 | 亚洲+变态+欧美+另类+精品 | 日本精品中文字幕阿v免费 日韩精品亚洲精品第一页 视频在线播放在线观看 | 国产精品v日韩精品v欧美精品 | 欧洲精品视频一二三区视频 | 国产亚洲精aa在线观看香蕉 | 免费国产乱理 | 成熟熟女国产精品一区二区 | 婷婷亚洲久悠 | 免费高清一二三区日本 | 亚洲伦理一区二区三区 | 亚洲国产日韩在线人高清 | 羞羞小视频在线观看 | 精品日本亚洲专区 | 俺去啦电影网 | 免费岛国 | 国产超级在 | 日本伊人网在线观看 | 国产人伦激情在线观看 | 亚洲欧美日韩一区在线观看 | 又大又粗又黄又硬又爽又免费视 | 日韩xxxx在线免费观看 | 国产一区二区三区四区五区 | 日本精品一区二区三区四区 | 99国产精品免费在线 | 在线看片免费人成视频手机观看 | 国产乱码精品一区在线观看a | 在线中文字幕亚洲 | 国产视频一区在线一区在线看 | 一本一道日韩一二三四区免费 | 亚洲国产免费 | 二区三区精品视频 | 91国自产精品中文字幕亚洲 | 精品国产污污免费网站入口 | 日韩国产亚洲一区二区 | 新午夜电影网 | 91偷拍一区二区三区精品 | 亚洲三级香港 | 最新亚洲国产精品 | 欧美精品v日韩精品v韩国精品v | 精品欧美视频在线播放不卡 | 日韩性色一区二区三区 | 亚洲综合偷拍一区二区三 | 国产a级又黄又硬又湿刺激软件 | 美女丰满精品 | 国产女人喷潮在线观看视频一 | 国产精品一二三 | 国产亚洲一区二区三 | 欧美+国产+日产+韩国 | 国产美女主播在线 | 爱情岛亚洲论坛 | 区一区二区三高清免费视频 | 九色精品高清在线播放 | 在线播放不收费 | 国产精品亚洲午夜一区二区三区 | 亚洲欧美中文日韩v在线 | 国产欧美亚洲精品a | 男人性毛 | 国产精品夫妻在线 | 中文字幕九热精品视频在线 | 国产老妇伦国 | 欧美伦费免费全部午夜最新 | 免费电影在线看 | 日本精品不卡中文字幕 | 国产午夜亚洲精品不卡在线观看 | 最新日本视频高清在线 | 欧美午夜视频网站在线观看 | 无人视频在线观看播放免费 | 亚洲二区在线观看 | 国产又黄的a级鬼片在线观看 | 草莓视频污污 | 欧美在线一区二区 | 噼里啪啦影院大 | 国产欧美日韩综合精品无毒 | 99视频经典在线观看的 | 国产免费一区二区视频 | 国产精品第八页 | 免费阿v网站在线观看g | 国产国语老龄妇女 | 日韩精品制服诱惑中文字幕 | 国产玉足榨精视频在线观看 | 午夜免费啪视频观看视频 | 国产日韩精品一区在线观看 | 国产高清免费在 | 91影视永久福利免费观看 | 欧美日韩一级国产 | 1024手机看片国产日韩欧美 | 国产亚洲人成在线播放 | 日韩在线高清视频 | 精品国产美 | 国语在线看免费观 | 制服丝袜日韩欧美国产 | 91精品成人免费国产片 | 日韩不卡一二三区 | 日韩xxx免费视频 | 亚欧精品一区二区三区四区 | 成人精品午夜在线观看 | 日韩高清在线精品观看一区二区 | 欧美日韩国产另类精品图二区 | 日韩精品中文字幕一 | 欧美乱码精品乱码一区二区三区 | 欧美亚洲日韩视频 | 亚洲伊人精品国产91综合 | 日本亚洲黑人在线播放 | 男女啪祼交视 | 国产乱码亚洲日韩欧美乱码 | 亚洲中文字幕a | 国产宅男z资 | 韩国在线观看日韩免費資訊 | 日本午夜电影网 | 国产精品播放一区二区三区 | 亚洲是第一大洲的原因 | 国产一区二区三区日韩欧美 | 在线观看成人年视频免费 | 日韩精品在线开放 | 国产99视频精品免视看9 | 女同恋性一区二区三区四区 | 十分钟在线观看免费直播 | 日本a网免费在线观看 | 999电影网| 欧美日本到一区二区三区 | 成人a视频片在线观看免费 极品女神 | 精品欧美一区二区3d动漫 | 成人免费观看做爰视频胸大 | 激情五月综合激情在线观看 | 国产古装全黄a级视在线观看 | 免费观看国产日本一区二区 |