Bagikan melalui


Regex Konstruktor

Definisi

Menginisialisasi instans baru kelas Regex.

Overload

Regex()

Menginisialisasi instans baru kelas Regex.

Regex(String)

Menginisialisasi instans baru kelas Regex untuk ekspresi reguler yang ditentukan.

Regex(SerializationInfo, StreamingContext)
Kedaluwarsa.

Menginisialisasi instans baru kelas Regex dengan menggunakan data berseri.

Regex(String, RegexOptions)

Menginisialisasi instans baru kelas Regex untuk ekspresi reguler yang ditentukan, dengan opsi yang memodifikasi pola.

Regex(String, RegexOptions, TimeSpan)

Menginisialisasi instans baru kelas Regex untuk ekspresi reguler yang ditentukan, dengan opsi yang memodifikasi pola dan nilai yang menentukan berapa lama metode pencocokan pola harus mencoba kecocokan sebelum waktu habis.

Regex()

Sumber:
Regex.cs
Sumber:
Regex.cs
Sumber:
Regex.cs

Menginisialisasi instans baru kelas Regex.

protected:
 Regex();
protected Regex ();
Protected Sub New ()

Keterangan

Perhatikan bahwa konstruktor ini dilindungi; hanya dapat dipanggil oleh kelas yang berasal dari kelas Regex.

Berlaku untuk

Regex(String)

Sumber:
Regex.cs
Sumber:
Regex.cs
Sumber:
Regex.cs

Menginisialisasi instans baru kelas Regex untuk ekspresi reguler yang ditentukan.

public:
 Regex(System::String ^ pattern);
public Regex (string pattern);
new System.Text.RegularExpressions.Regex : string -> System.Text.RegularExpressions.Regex
Public Sub New (pattern As String)

Parameter

pattern
String

Pola ekspresi reguler yang cocok.

Pengecualian

Terjadi kesalahan penguraian ekspresi reguler.

pattern null.

Contoh

Contoh berikut menggambarkan cara menggunakan konstruktor ini untuk membuat instans ekspresi reguler yang cocok dengan kata apa pun yang dimulai dengan huruf "a" atau "t".

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string pattern = @"\b[at]\w+";
      string text = "The threaded application ate up the thread pool as it executed.";
      MatchCollection matches;

      Regex defaultRegex = new Regex(pattern);
      // Get matches of pattern in text
      matches = defaultRegex.Matches(text);
      Console.WriteLine("Parsing '{0}'", text);
      // Iterate matches
      for (int ctr = 0; ctr < matches.Count; ctr++)
         Console.WriteLine("{0}. {1}", ctr, matches[ctr].Value);
   }
}
// The example displays the following output:
//       Parsing 'The threaded application ate up the thread pool as it executed.'
//       0. threaded
//       1. application
//       2. ate
//       3. the
//       4. thread
//       5. as
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim pattern As String = "\b[at]\w+"
      Dim text As String = "The threaded application ate up the thread pool as it executed."
      Dim matches As MatchCollection

      Dim defaultRegex As New Regex(pattern)
      ' Get matches of pattern in text
      matches = defaultRegex.Matches(text)
      Console.WriteLine("Parsing '{0}'", text)
      ' Iterate matches
      For ctr As Integer = 0 to matches.Count - 1
         Console.WriteLine("{0}. {1}", ctr, matches(ctr).Value)
      Next
   End Sub
End Module
' The example displays the following output:
'       Parsing 'The threaded application ate up the thread pool as it executed.'
'       0. threaded
'       1. application
'       2. ate
'       3. the
'       4. thread
'       5. as

Perhatikan bahwa pola ekspresi reguler tidak dapat mencocokkan kata "The" di awal teks, karena perbandingan peka huruf besar/kecil secara default. Untuk contoh perbandingan yang tidak peka huruf besar/kecil, lihat konstruktor Regex(String, RegexOptions).

Keterangan

Peringatan

Saat menggunakan System.Text.RegularExpressions untuk memproses input yang tidak tepercaya, berikan nilai batas waktu untuk mencegah pengguna berbahaya menyebabkan serangan penolakan layanan . Nilai waktu habis menentukan berapa lama metode pencocokan pola harus mencoba menemukan kecocokan sebelum waktu habis.

Parameter pattern terdiri dari elemen bahasa ekspresi reguler yang secara simbolis menggambarkan string yang cocok. Untuk informasi selengkapnya tentang ekspresi reguler, lihat Ekspresi Reguler .NET dan Bahasa Ekspresi Reguler - Referensi Cepat topik.

Memanggil konstruktor Regex(String) setara dengan memanggil konstruktor Regex(String, RegexOptions) dengan nilai None untuk argumen options.

Objek Regex tidak dapat diubah, yang berarti bahwa objek hanya dapat digunakan untuk pola pencocokan yang Anda tentukan saat Anda membuatnya. Namun, dapat digunakan berapa kali tanpa dikompresi ulang.

Konstruktor ini membuat instans objek ekspresi reguler yang mencoba kecocokan peka huruf besar/kecil dari setiap karakter alfabet yang ditentukan dalam pattern. Untuk kecocokan yang tidak peka huruf besar/kecil, gunakan konstruktor Regex.Regex(String, RegexOptions).

Catatan Bagi Pemanggil

Konstruktor ini membuat objek Regex yang menggunakan nilai batas waktu default domain aplikasi tempatnya dibuat. Jika nilai waktu habis belum ditentukan untuk domain aplikasi, objek Regex menggunakan nilai InfiniteMatchTimeout, yang mencegah operasi kehabisan waktu. Konstruktor yang direkomendasikan untuk membuat objek RegexRegex(String, RegexOptions, TimeSpan), yang memungkinkan Anda mengatur interval waktu habis.

Lihat juga

  • Elemen Bahasa Ekspresi Reguler

Berlaku untuk

Regex(SerializationInfo, StreamingContext)

Sumber:
Regex.cs
Sumber:
Regex.cs
Sumber:
Regex.cs

Perhatian

This API supports obsolete formatter-based serialization. It should not be called or extended by application code.

Menginisialisasi instans baru kelas Regex dengan menggunakan data berseri.

protected:
 Regex(System::Runtime::Serialization::SerializationInfo ^ info, System::Runtime::Serialization::StreamingContext context);
protected Regex (System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context);
[System.Obsolete("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
protected Regex (System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context);
new System.Text.RegularExpressions.Regex : System.Runtime.Serialization.SerializationInfo * System.Runtime.Serialization.StreamingContext -> System.Text.RegularExpressions.Regex
[<System.Obsolete("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
new System.Text.RegularExpressions.Regex : System.Runtime.Serialization.SerializationInfo * System.Runtime.Serialization.StreamingContext -> System.Text.RegularExpressions.Regex
Protected Sub New (info As SerializationInfo, context As StreamingContext)

Parameter

info
SerializationInfo

Objek yang berisi pola berseri dan informasi RegexOptions.

context
StreamingContext

Tujuan untuk serialisasi ini. (Parameter ini tidak digunakan; tentukan null.)

Atribut

Pengecualian

Terjadi kesalahan penguraian ekspresi reguler.

Pola yang info berisi adalah null.

info berisi bendera RegexOptions yang tidak valid.

Berlaku untuk

Regex(String, RegexOptions)

Sumber:
Regex.cs
Sumber:
Regex.cs
Sumber:
Regex.cs

Menginisialisasi instans baru kelas Regex untuk ekspresi reguler yang ditentukan, dengan opsi yang memodifikasi pola.

public:
 Regex(System::String ^ pattern, System::Text::RegularExpressions::RegexOptions options);
public Regex (string pattern, System.Text.RegularExpressions.RegexOptions options);
new System.Text.RegularExpressions.Regex : string * System.Text.RegularExpressions.RegexOptions -> System.Text.RegularExpressions.Regex
Public Sub New (pattern As String, options As RegexOptions)

Parameter

pattern
String

Pola ekspresi reguler yang cocok.

options
RegexOptions

Kombinasi bitwise dari nilai enumerasi yang memodifikasi ekspresi reguler.

Pengecualian

Terjadi kesalahan penguraian ekspresi reguler.

pattern null.

options berisi bendera yang tidak valid.

Contoh

Contoh berikut menggambarkan cara menggunakan konstruktor ini untuk membuat instans ekspresi reguler yang cocok dengan kata apa pun yang dimulai dengan huruf "a" atau "t".

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string pattern = @"\b[at]\w+";
      RegexOptions options = RegexOptions.IgnoreCase | RegexOptions.Compiled;
      string text = "The threaded application ate up the thread pool as it executed.";
      MatchCollection matches;

      Regex optionRegex = new Regex(pattern, options);
      Console.WriteLine("Parsing '{0}' with options {1}:", text, options.ToString());
      // Get matches of pattern in text
      matches = optionRegex.Matches(text);
      // Iterate matches
      for (int ctr = 0; ctr < matches.Count; ctr++)
         Console.WriteLine("{0}. {1}", ctr, matches[ctr].Value);
   }
}
// The example displays the following output:
//    Parsing 'The threaded application ate up the thread pool as it executed.'
//        with options IgnoreCase, Compiled:
//    0. The
//    1. threaded
//    2. application
//    3. ate
//    4. the
//    5. thread
//    6. as
Imports System.Text.RegularExpressions

Module Example
   Public Sub Main()
      Dim pattern As String = "\b[at]\w+"
      Dim options As RegexOptions = RegexOptions.IgnoreCase Or RegexOptions.Compiled
      Dim text As String = "The threaded application ate up the thread pool as it executed."
      Dim matches As MatchCollection

      Dim optionRegex As New Regex(pattern, options)
      Console.WriteLine("Parsing '{0}' with options {1}:", text, options.ToString())
      ' Get matches of pattern in text
      matches = optionRegex.Matches(text)
      ' Iterate matches   
      For ctr As Integer = 0 to matches.Count - 1
         Console.WriteLine("{0}. {1}", ctr, matches(ctr).Value)
      Next
   End Sub
End Module
' The example displays the following output:
'    Parsing 'The threaded application ate up the thread pool as it executed.'
'       with options IgnoreCase, Compiled:
'    0. The
'    1. threaded
'    2. application
'    3. ate
'    4. the
'    5. thread
'    6. as

Perhatikan bahwa koleksi kecocokan menyertakan kata "The" yang memulai teks karena parameter options telah menentukan perbandingan yang tidak peka huruf besar/kecil.

Keterangan

Peringatan

Saat menggunakan System.Text.RegularExpressions untuk memproses input yang tidak tepercaya, berikan nilai batas waktu untuk mencegah pengguna berbahaya menyebabkan serangan penolakan layanan . Nilai waktu habis menentukan berapa lama metode pencocokan pola harus mencoba menemukan kecocokan sebelum waktu habis.

Parameter pattern terdiri dari elemen bahasa ekspresi reguler yang secara simbolis menggambarkan string yang cocok. Untuk informasi selengkapnya tentang ekspresi reguler, lihat Ekspresi Reguler .NET dan Bahasa Ekspresi Reguler - Referensi Cepat topik.

Objek Regex tidak dapat diubah, yang berarti bahwa objek hanya dapat digunakan untuk parameter kecocokan yang Anda tentukan saat Anda membuatnya. Namun, dapat digunakan berapa kali tanpa dikompresi ulang.

Catatan Bagi Pemanggil

Konstruktor ini membuat objek Regex yang menggunakan nilai batas waktu default domain aplikasi tempatnya dibuat. Jika nilai waktu habis belum ditentukan untuk domain aplikasi, objek Regex menggunakan nilai InfiniteMatchTimeout, yang mencegah operasi kehabisan waktu. Konstruktor yang direkomendasikan untuk membuat objek RegexRegex(String, RegexOptions, TimeSpan), yang memungkinkan Anda mengatur interval waktu habis.

Lihat juga

  • Elemen Bahasa Ekspresi Reguler

Berlaku untuk

Regex(String, RegexOptions, TimeSpan)

Sumber:
Regex.cs
Sumber:
Regex.cs
Sumber:
Regex.cs

Menginisialisasi instans baru kelas Regex untuk ekspresi reguler yang ditentukan, dengan opsi yang memodifikasi pola dan nilai yang menentukan berapa lama metode pencocokan pola harus mencoba kecocokan sebelum waktu habis.

public:
 Regex(System::String ^ pattern, System::Text::RegularExpressions::RegexOptions options, TimeSpan matchTimeout);
public Regex (string pattern, System.Text.RegularExpressions.RegexOptions options, TimeSpan matchTimeout);
new System.Text.RegularExpressions.Regex : string * System.Text.RegularExpressions.RegexOptions * TimeSpan -> System.Text.RegularExpressions.Regex
Public Sub New (pattern As String, options As RegexOptions, matchTimeout As TimeSpan)

Parameter

pattern
String

Pola ekspresi reguler yang cocok.

options
RegexOptions

Kombinasi bitwise dari nilai enumerasi yang memodifikasi ekspresi reguler.

matchTimeout
TimeSpan

Interval waktu habis, atau InfiniteMatchTimeout untuk menunjukkan bahwa metode tidak boleh kehabisan waktu.

Pengecualian

Terjadi kesalahan penguraian ekspresi reguler.

pattern null.

options bukan nilai RegexOptions yang valid.

-atau-

matchTimeout negatif, nol, atau lebih besar dari sekitar 24 hari.

Contoh

Contoh berikut memanggil konstruktor Regex(String, RegexOptions, TimeSpan) untuk membuat instans objek Regex dengan nilai batas waktu satu detik. Pola ekspresi reguler (a+)+$, yang cocok dengan satu atau beberapa urutan satu atau beberapa karakter "a" di akhir baris, tunduk pada backtracking yang berlebihan. Jika RegexMatchTimeoutException dilemparkan, contohnya akan meningkatkan nilai batas waktu hingga nilai maksimum tiga detik. Jika tidak, ia meninggalkan upaya untuk mencocokkan pola.

using System;
using System.ComponentModel;
using System.Diagnostics;
using System.Security;
using System.Text.RegularExpressions;
using System.Threading; 

public class Example
{
   const int MaxTimeoutInSeconds = 3;

   public static void Main()
   {
      string pattern = @"(a+)+$";    // DO NOT REUSE THIS PATTERN.
      Regex rgx = new Regex(pattern, RegexOptions.IgnoreCase, TimeSpan.FromSeconds(1));       
      Stopwatch sw = null;
      
      string[] inputs= { "aa", "aaaa>", 
                         "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                         "aaaaaaaaaaaaaaaaaaaaaa>",
                         "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa>" };
                                 
      foreach (var inputValue in inputs) {
         Console.WriteLine("Processing {0}", inputValue);
         bool timedOut = false;
         do { 
            try {
               sw = Stopwatch.StartNew();
               // Display the result.
               if (rgx.IsMatch(inputValue)) {
                  sw.Stop();
                  Console.WriteLine(@"Valid: '{0}' ({1:ss\.fffffff} seconds)", 
                                    inputValue, sw.Elapsed); 
               }
               else {
                  sw.Stop();
                  Console.WriteLine(@"'{0}' is not a valid string. ({1:ss\.fffff} seconds)", 
                                    inputValue, sw.Elapsed);
               }
            }
            catch (RegexMatchTimeoutException e) {   
               sw.Stop();
               // Display the elapsed time until the exception.
               Console.WriteLine(@"Timeout with '{0}' after {1:ss\.fffff}", 
                                 inputValue, sw.Elapsed);
               Thread.Sleep(1500);       // Pause for 1.5 seconds.

               // Increase the timeout interval and retry.
               TimeSpan timeout = e.MatchTimeout.Add(TimeSpan.FromSeconds(1));
               if (timeout.TotalSeconds > MaxTimeoutInSeconds) {
                  Console.WriteLine("Maximum timeout interval of {0} seconds exceeded.",
                                    MaxTimeoutInSeconds);
                  timedOut = false;
               }
               else {               
                  Console.WriteLine("Changing the timeout interval to {0}", 
                                    timeout); 
                  rgx = new Regex(pattern, RegexOptions.IgnoreCase, timeout);
                  timedOut = true;
               }
            }
         } while (timedOut);
         Console.WriteLine();
      }   
   }
}
// The example displays output like the following :
//    Processing aa
//    Valid: 'aa' (00.0000779 seconds)
//    
//    Processing aaaa>
//    'aaaa>' is not a valid string. (00.00005 seconds)
//    
//    Processing aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
//    Valid: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' (00.0000043 seconds)
//    
//    Processing aaaaaaaaaaaaaaaaaaaaaa>
//    Timeout with 'aaaaaaaaaaaaaaaaaaaaaa>' after 01.00469
//    Changing the timeout interval to 00:00:02
//    Timeout with 'aaaaaaaaaaaaaaaaaaaaaa>' after 02.01202
//    Changing the timeout interval to 00:00:03
//    Timeout with 'aaaaaaaaaaaaaaaaaaaaaa>' after 03.01043
//    Maximum timeout interval of 3 seconds exceeded.
//    
//    Processing aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa>
//    Timeout with 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa>' after 03.01018
//    Maximum timeout interval of 3 seconds exceeded.
Imports System.ComponentModel
Imports System.Diagnostics
Imports System.Security
Imports System.Text.RegularExpressions
Imports System.Threading 

Module Example
   Const MaxTimeoutInSeconds As Integer = 3
   
   Public Sub Main()
      Dim pattern As String = "(a+)+$"    ' DO NOT REUSE THIS PATTERN.
      Dim rgx As New Regex(pattern, RegexOptions.IgnoreCase, TimeSpan.FromSeconds(1))       
      Dim sw As Stopwatch = Nothing
      
      Dim inputs() As String = { "aa", "aaaa>", 
                                 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                                 "aaaaaaaaaaaaaaaaaaaaaa>",
                                 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa>" }
                                 
      For Each inputValue In inputs
         Console.WriteLine("Processing {0}", inputValue)
         Dim timedOut As Boolean = False
         Do 
            Try
               sw = Stopwatch.StartNew()
               ' Display the result.
               If rgx.IsMatch(inputValue) Then
                  sw.Stop()
                  Console.WriteLine("Valid: '{0}' ({1:ss\.fffffff} seconds)", 
                                    inputValue, sw.Elapsed) 
               Else
                  sw.Stop()
                  Console.WriteLine("'{0}' is not a valid string. ({1:ss\.fffff} seconds)", 
                                    inputValue, sw.Elapsed)
               End If
            Catch e As RegexMatchTimeoutException   
               sw.Stop()
               ' Display the elapsed time until the exception.
               Console.WriteLine("Timeout with '{0}' after {1:ss\.fffff}", 
                                 inputValue, sw.Elapsed)
               Thread.Sleep(1500)       ' Pause for 1.5 seconds.

               ' Increase the timeout interval and retry.
               Dim timeout As TimeSpan = e.MatchTimeout.Add(TimeSpan.FromSeconds(1))
               If timeout.TotalSeconds > MaxTimeoutInSeconds Then
                  Console.WriteLine("Maximum timeout interval of {0} seconds exceeded.",
                                    MaxTimeoutInSeconds)
                  timedOut = False
               Else                
                  Console.WriteLine("Changing the timeout interval to {0}", 
                                    timeout) 
                  rgx = New Regex(pattern, RegexOptions.IgnoreCase, timeout)
                  timedOut = True
               End If
            End Try
         Loop While timedOut
         Console.WriteLine()
      Next   
   End Sub 
End Module
' The example displays output like the following:
'    Processing aa
'    Valid: 'aa' (00.0000779 seconds)
'    
'    Processing aaaa>
'    'aaaa>' is not a valid string. (00.00005 seconds)
'    
'    Processing aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
'    Valid: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' (00.0000043 seconds)
'    
'    Processing aaaaaaaaaaaaaaaaaaaaaa>
'    Timeout with 'aaaaaaaaaaaaaaaaaaaaaa>' after 01.00469
'    Changing the timeout interval to 00:00:02
'    Timeout with 'aaaaaaaaaaaaaaaaaaaaaa>' after 02.01202
'    Changing the timeout interval to 00:00:03
'    Timeout with 'aaaaaaaaaaaaaaaaaaaaaa>' after 03.01043
'    Maximum timeout interval of 3 seconds exceeded.
'    
'    Processing aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa>
'    Timeout with 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa>' after 03.01018
'    Maximum timeout interval of 3 seconds exceeded.

Keterangan

Parameter pattern terdiri dari elemen bahasa ekspresi reguler yang secara simbolis menggambarkan string yang cocok. Untuk informasi selengkapnya tentang ekspresi reguler, lihat Ekspresi Reguler .NET dan Bahasa Ekspresi Reguler - Referensi Cepat topik.

Objek Regex tidak dapat diubah, yang berarti objek hanya dapat digunakan untuk pola pencocokan yang Anda tentukan saat Membuatnya. Namun, dapat digunakan berapa kali tanpa dikompresi ulang.

Parameter matchTimeout menentukan berapa lama metode pencocokan pola harus mencoba menemukan kecocokan sebelum waktu habis. Jika tidak ada kecocokan yang ditemukan dalam interval waktu tersebut, metode pencocokan pola akan memberikan pengecualian RegexMatchTimeoutException. matchTimeout mengambil alih nilai batas waktu default yang ditentukan untuk domain aplikasi tempat objek Regex dibuat. Metode pencocokan pola instans yang mengamati interval batas waktu matchTimeout meliputi yang berikut:

Mengatur interval waktu habis mencegah ekspresi reguler yang mengandalkan backtracking yang berlebihan muncul untuk berhenti merespons saat mereka memproses input yang berisi kecocokan dekat. Untuk informasi selengkapnya, lihat Praktik Terbaik untuk Ekspresi Reguler dan Backtracking. Untuk mengatur interval waktu habis yang wajar, pertimbangkan faktor-faktor berikut:

  • Panjang dan kompleksitas pola ekspresi reguler. Ekspresi reguler yang lebih panjang dan lebih kompleks membutuhkan lebih banyak waktu daripada yang lebih pendek dan lebih sederhana.

  • Beban komputer yang diharapkan. Pemrosesan membutuhkan lebih banyak waktu pada sistem yang memiliki pemanfaatan CPU dan memori yang tinggi.

Catatan Bagi Pemanggil

Kami menyarankan agar Anda mengatur parameter matchTimeout ke nilai yang sesuai, seperti dua detik. Jika Anda menonaktifkan waktu habis dengan menentukan InfiniteMatchTimeout, mesin ekspresi reguler menawarkan performa yang sedikit lebih baik. Namun, Anda harus menonaktifkan batas waktu hanya dalam kondisi berikut:

  • Ketika input yang diproses oleh ekspresi reguler berasal dari sumber yang diketahui dan tepercaya atau terdiri dari teks statis. Ini mengecualikan teks yang telah dimasukkan secara dinamis oleh pengguna.

  • Ketika pola ekspresi reguler telah diuji secara menyeluruh untuk memastikan bahwa pola regex secara efisien menangani kecocokan, non-kecocokan, dan mendekati kecocokan.

  • Ketika pola ekspresi reguler tidak berisi elemen bahasa yang diketahui menyebabkan backtracking yang berlebihan saat memproses kecocokan dekat.

Lihat juga

Berlaku untuk