This article was translated by machine. To view in the article in English, select the English check box. You can also display the English text in a popup window by moving the mouse pointer over the text.
الترجمة
الأصلي
This documentation is archived and is not being maintained.

DatabindExprRegex الفئة

Visual Studio 2010

يوفر تعبير عادي إلى تحليل تعبير ربط بيانات ASP.NET.

مساحة الاسم:  System.Web.RegularExpressions
التجميع:  System.Web.RegularExpressions (في System.Web.RegularExpressions.dll)

public class DatabindExprRegex : Regex

DatabindExprRegex توفر الفئة تعبير عادي مترجمة إلى تحليل تعبير ربط بيانات ASP.NET ( <%#%>).

ملاحظةملاحظة

System.Web.RegularExpressions فئات تختص إلى ليتم استخدامها من قبل برنامج.NET Framework إلى تحليل الصفحات ASP.NET وليست دائماً عملي للتطبيقات عام. على سبيل المثال، العديد من هذه الفئات مطابقة بداية سلسلة.

نمط التعبير العادي معرفة مسبقاً المستخدمة بواسطة DatabindExprRegexهو\G<%#(?<code>.*?)? %>. لفئة يرجع هذا تعبير عادي حظر تعبير ربط بيانات، بما في ذلك بدايته و النهاية علامات و كافة محتوياته. ومع ذلك، الحصول على تطابق إلى تحدث، يجب أن تبدأ حظر تعبير ربط البيانات في بداية دفق إدخال. لكتل تعبير ربط بيانات متعددة إلى في استدعاء إلى DatabindExprRegexللكائن Matchesالأسلوب، لابد أن تكون قريبة مباشرة إلى بعضها البعض. التي هو، %>علامة إنهاء تعبير ربط البيانات السابقة يجب أن يكون متبوعاً مباشرة <%#علامة التي يبدأ التعبير التالي لربط البيانات، وبدون أي أحرف المتداخلة.

يمكنك استرداد الجميع كتل تعبير ربط البيانات المضمنة بغض النظر عن بها موضع في سلسلة إدخال في أي من الطريقتين التاليتين:

  • بواسطة instantiating Regexكائن تعبير عادي له نقش هو <%#(?<code>.*?)?%>.

  • باستخدام String.IndexOf(String, Int32)زيادة التحميل إلى موقع علامة فتح التالية من عبارات ربط البيانات في سلسلة، ومن ثم استخدام هذه الوظيفة عند استدعاء DatabindExprRegexالكائن Match(String, Int32)الأسلوب. يوضح المثال التالي كيفية إلى استخدام هذه التقنية مع DatabindExprRegexالكائن إلى استخراج الجميع الكتل تعبير ربط البيانات في السلسلة.

    
    string[] simpleStrings = {"<%# GetFieldValue() %>", 
                              " <%# GetFieldValue() %>", 
                              "<%# GetFieldValue() %><%# GetFieldValue() %>",  
                              "<%# GetFieldValue() %> <%# GetFieldValue() %>"};
    DatabindExprRegex databindExpr = new DatabindExprRegex();        
    Console.WriteLine("Pattern: {0}\n", databindExpr.ToString());
    
    // Iterate string array
    foreach (string simpleString in simpleStrings)
    {
       Console.WriteLine("Input: {0}", simpleString);
       int position = 0;
       List<Match> matches = new List<Match>();
    
       do
       { 
          // Get next occurrence of beginning code block tag
          position = simpleString.IndexOf("<%#", position);
          // If it exists, pass this portion of string to regex engine
          if (position > -1)
          {
             Match match = databindExpr.Match(simpleString, position);
             // Add successful match to collection
             if (match.Success)
                matches.Add(match);
    
             position++;
          }   
       } while (position > -1);
    
       // Iterate collection of matches
       foreach (Match match in matches)
          Console.WriteLine("   '{0}'", match.Value);
    
    }
    // This example displays the following output to the console:
    //       Pattern: \G<%#(?<code>.*?)?%>
    //       
    //       Input: <%# GetFieldValue() %>
    //          '<%# GetFieldValue() %>'
    //       Input:  <%# GetFieldValue() %>
    //          '<%# GetFieldValue() %>'
    //       Input: <%# GetFieldValue() %><%# GetFieldValue() %>
    //          '<%# GetFieldValue() %>'
    //          '<%# GetFieldValue() %>'
    //       Input: <%# GetFieldValue() %> <%# GetFieldValue() %>
    //          '<%# GetFieldValue() %>'
    //          '<%# GetFieldValue() %>'
    
    
    

يلي مثال يوضح DatabindExprRegexفئة. يوضح المثال أن حظر تعبير ربط بيانات مطابقة النقش تعبير عادي إلا إذا هو في بداية السلسلة أو إذا كانت تتبعها التطابق السابق مباشرة.


string[] simpleStrings = {"<%# GetFieldValue() %>", 
                          " <%# GetFieldValue() %>", 
                          "<%# GetFieldValue() %><%# GetFieldValue() %>",  
                          "<%# GetFieldValue() %> <%# GetFieldValue() %>"};
DatabindExprRegex databindExpr = new DatabindExprRegex();
Console.WriteLine("Pattern: {0}\n", databindExpr.ToString());

// Iterate string array
foreach (string simpleString in simpleStrings)
{
   Console.WriteLine("Input String: '{0}'", simpleString);
   // Get substrings matching regex pattern
   MatchCollection matches = databindExpr.Matches(simpleString);
   if (matches.Count > 0)
   {
      // Display matches to console
      foreach (Match match in matches)
         Console.WriteLine("   {0}", match.Value);
   }
   else
   {
      Console.WriteLine("   No match.");
   }
}   
// This example displays the following output to the console:
//       Pattern: \G<%#(?<code>.*?)?%>
//       
//       Input String: '<%# GetFieldValue() %>'
//          <%# GetFieldValue() %>
//       Input String: ' <%# GetFieldValue() %>'
//          No match.
//       Input String: '<%# GetFieldValue() %><%# GetFieldValue() %>'
//          <%# GetFieldValue() %>
//          <%# GetFieldValue() %>
//       Input String: '<%# GetFieldValue() %> <%# GetFieldValue() %>'
//          <%# GetFieldValue() %>


يتم تأمين العملية الجزئية لأي عضو عمومي ثابت (مشترك في Visual Basic) من هذا النوع. لن يتم ضمان تأمين العملية الجزئية لأي عضو مثيل.

نظام التشغيل Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, الإصدار x64 من نظام التشغيل Windows XP Professional, Windows XP Starter Edition, Windows Server 2008, نظام التشغيل Windows Server 2003, نظام التشغيل Windows Server 2000 المزود بحزمة الخدمة SP4, نظام التشغيل Windows Millennium Edition, نظام التشغيل Windows 98

لا يدعم .NET Framework و .NET Compact Framework كافة الإصدارات الخاصة بكل نظام أساسي. للحصول على قائمة بالإصدارات المدعمة، راجع متطلبات النظام إطار عمل .NET.

.NET Framework

مدعوم في: 4, 3.5, 3.0, 2.0, 1.1, 1.0
إظهار: