Lompat ke isi

Ekspresi reguler: Perbedaan antara revisi

Ensiklopedia Pengetahuan Universitas Islam Sultan Agung
Maintenance script (bicara | kontrib)
Impor teks terkontrol dari Wikipedia bahasa Indonesia; revisi 28439411; atribusi sumber disertakan.
 
Maintenance script (bicara | kontrib)
Presentation V4: sitasi, referensi, Math, Wikimedia Commons, dan atribusi
 
Baris 1: Baris 1:
'''Ekspresi reguler''' (, dipendekkan menjadi '''regex''' atau '''regexp'''; juga disebut '''ekspresi rasional''') adalah serangkaian [[Karakter (komputasi)|karakter]] yang mendefinisikan sebuah ''[[pencocokan pola|pola]] pencarian''. Pola tersebut biasanya digunakan oleh [[algoritme pencarian string]] untuk melakukan operasi "cari" atau "cari dan ganti" pada [[string]], atau untuk memeriksa string masukan. Ekspresi reguler merupakan teknik yang dikembangakan dalam bidang [[ilmu komputer teori]] dan teori [[bahasa formal]].
[[File:The_river_effect_in_justified_text.jpg|thumb|right|280px|The river effect in justified text]]
 
'''Ekspresi reguler''' (, dipendekkan menjadi '''regex''' atau '''regexp''';<ref>Jan Goyvaerts. [http://www.regular-expressions.info/tutorial.html Regular Expression Tutorial - Learn How to Use Regular Expressions]. ''www.regular-expressions.info''.</ref> juga disebut '''ekspresi rasional''')<ref>Ruslan Mitkov. [https://books.google.com/books?id=yl6AnaKtVAkC&pg=PA754 The Oxford Handbook of Computational Linguistics]. Oxford University Press. 2003. hlm. 754. ISBN 978-0-19-927634-9.</ref><ref>Mark V. Lawson. [https://books.google.com/books?id=MDQ_K7-z2AMC&pg=PA98 Finite Automata]. CRC Press. 17 September 2003. hlm. 98–100. ISBN 978-1-58488-255-8.</ref> adalah serangkaian [[Karakter (komputasi)|karakter]] yang mendefinisikan sebuah ''[[pencocokan pola|pola]] pencarian''. Pola tersebut biasanya digunakan oleh [[algoritme pencarian string]] untuk melakukan operasi "cari" atau "cari dan ganti" pada [[string]], atau untuk memeriksa string masukan. Ekspresi reguler merupakan teknik yang dikembangakan dalam bidang [[ilmu komputer teori]] dan teori [[bahasa formal]].


Konsep ini muncul pada 1950-an ketika matematikawan Amerika [[Stephen Cole Kleene]] memformalkan deskripsi sebuah ''[[bahasa reguler]]''. Konsep ini menjadi banyak digunakan untuk utilitas pengolahan teks [[Unix]]. Beberapa [[Sintaks (bahasa pemrograman)|sintaks]] untuk menulis ekspresi reguler telah dibuat sejak 1980-an, salah satunya adalah standar [[POSIX]] dan yang satu lagi, yang sering digunakan, adalah sintaks [[Perl]].
Konsep ini muncul pada 1950-an ketika matematikawan Amerika [[Stephen Cole Kleene]] memformalkan deskripsi sebuah ''[[bahasa reguler]]''. Konsep ini menjadi banyak digunakan untuk utilitas pengolahan teks [[Unix]]. Beberapa [[Sintaks (bahasa pemrograman)|sintaks]] untuk menulis ekspresi reguler telah dibuat sejak 1980-an, salah satunya adalah standar [[POSIX]] dan yang satu lagi, yang sering digunakan, adalah sintaks [[Perl]].
Baris 6: Baris 8:


==Sejarah==
==Sejarah==
Ekspresi reguler berawal pada tahun 1951, ketika matematikawan [[Stephen Cole Kleene]] menjelaskan [[bahasa reguler]] menggunakan notasi matematikanya yang disebut ''regular events''. Notasi ini dilahirkan dari bidang [[ilmu komputer teori]], dalam subbidang [[teori otomata]] (pemodelan komputasi) dan deskripsi dan klasifikasi [[bahasa formal]]. Implementasi [[pencocokan pola]] lainnya di antaranya adalah bahasa [[SNOBOL]], yang tidak menggunakan ekspresi reguler, melainkan menggunakan konstruksi pencocokan polanya sendiri.
Ekspresi reguler berawal pada tahun 1951, ketika matematikawan [[Stephen Cole Kleene]] menjelaskan [[bahasa reguler]] menggunakan notasi matematikanya yang disebut ''regular events''.<ref>Hing Leung. [https://www.cs.nmsu.edu/historical-projects/Projects/kleene.9.16.10.pdf Regular Languages and Finite Automata]. ''New Mexico State University''. 16 September 2010.</ref> Notasi ini dilahirkan dari bidang [[ilmu komputer teori]], dalam subbidang [[teori otomata]] (pemodelan komputasi) dan deskripsi dan klasifikasi [[bahasa formal]]. Implementasi [[pencocokan pola]] lainnya di antaranya adalah bahasa [[SNOBOL]], yang tidak menggunakan ekspresi reguler, melainkan menggunakan konstruksi pencocokan polanya sendiri.


Ekspresi reguler menjadi populer sejak tahun 1968 dalam dua jenis penggunaan: pencocokan pola dalam penyunting teks dan analisis leksikal dalam kompilator. Salah satu kemunculan pertama ekspresi reguler dalam bentuk program adalah ketika [[Ken Thompson]] menggunakan notasi Kleene dalam penyunting [[QED (penyunting teks)|QED]] sebagai cara mencocokkan pola dalam [[berkas teks]]. Demi kecepatan, Thompson mengimplementasikan pencocokan ekspresi reguler dengan melakukan [[kompilasi tepat waktu]] (JIT) ke kode [[IBM 7094]] di [[Compatible Time-Sharing System]], sebuah contoh awal penting dari kompilasi JIT. Dia kemudian menambahkan kemampuan ini ke penyunting Unix [[ed (penyunting teks)|ed]], yang kemudian berujung pada peralatan pencari populer [[grep]] menggunakan ekspresi reguler ("grep" adalah kata yang diturunkan dari perintah untuk mencari ekspresi reguler di penyunting ed: <code>g/''re''/p</code>, singkatan dari "''Global search for Regular Expression and Print matching lines''"). Pada saat yang sama dengan Thompson mengembangkan QED, sekelompok peneliti di antaranya [[Douglas T. Ross]] mengimplementasikan sebuah perkakas berdasar ekspresi reguler yang digunakan untuk analisis leksikal dalam perancangan [[kompilator]].
Ekspresi reguler menjadi populer sejak tahun 1968 dalam dua jenis penggunaan: pencocokan pola dalam penyunting teks dan analisis leksikal dalam kompilator. Salah satu kemunculan pertama ekspresi reguler dalam bentuk program adalah ketika [[Ken Thompson]] menggunakan notasi Kleene dalam penyunting [[QED (penyunting teks)|QED]] sebagai cara mencocokkan pola dalam [[berkas teks]].<ref>Brian Kernighan. [http://www.cs.princeton.edu/courses/archive/spr09/cos333/beautiful.html Beautiful Code]. O'Reilly Media. 2007-08-08. hlm. 1–2. ISBN 978-0-596-51004-6.</ref><ref>Dennis M. Ritchie. [http://cm.bell-labs.com/who/dmr/qed.html An incomplete history of the QED Text Editor].</ref> Demi kecepatan, Thompson mengimplementasikan pencocokan ekspresi reguler dengan melakukan [[kompilasi tepat waktu]] (JIT) ke kode [[IBM 7094]] di [[Compatible Time-Sharing System]], sebuah contoh awal penting dari kompilasi JIT. Dia kemudian menambahkan kemampuan ini ke penyunting Unix [[ed (penyunting teks)|ed]], yang kemudian berujung pada peralatan pencari populer [[grep]] menggunakan ekspresi reguler ("grep" adalah kata yang diturunkan dari perintah untuk mencari ekspresi reguler di penyunting ed: <code>g/''re''/p</code>, singkatan dari "''Global search for Regular Expression and Print matching lines''"<ref>Raymond, Eric S. citing Dennis Ritchie. [http://catb.org/jargon/html/G/grep.html Jargon File 4.4.7: grep]. 2003.</ref>). Pada saat yang sama dengan Thompson mengembangkan QED, sekelompok peneliti di antaranya [[Douglas T. Ross]] mengimplementasikan sebuah perkakas berdasar ekspresi reguler yang digunakan untuk analisis leksikal dalam perancangan [[kompilator]].


Banyak variasi dari bentuk-bentuk awal ekspresi reguler digunakan di program-program [[Unix]] di [[Bell Labs]] pada 1970-an, di antaranya adalah [[vi]], [[Lex (perangkat lunak)|lex]], [[sed]], [[AWK]], dan [[expr]], dan program lainnya seperti [[Emacs]]. Ekspresi reguler kemudian diadopsi oleh berbagai jenis program, dengan bentuk-bentuk awalnya distandarkan sebagai standar [[POSIX.2]] pada tahun 1992.
Banyak variasi dari bentuk-bentuk awal ekspresi reguler digunakan di program-program [[Unix]] di [[Bell Labs]] pada 1970-an, di antaranya adalah [[vi]], [[Lex (perangkat lunak)|lex]], [[sed]], [[AWK]], dan [[expr]], dan program lainnya seperti [[Emacs]]. Ekspresi reguler kemudian diadopsi oleh berbagai jenis program, dengan bentuk-bentuk awalnya distandarkan sebagai standar [[POSIX.2]] pada tahun 1992.


Pada 1980-an ekspresi reguler yang lebih rumit muncul dalam [[Perl]], yang awalnya diturunkan dari sebuah pustaka ekspresi reguler yang ditulis oleh [[Henry Spencer]] (1986), yang kemudian menuliskan sebuah implementasi ''Advanced Regular Expressions'' untuk [[Tcl]]. Pustaka Tcl merupakan impelementasi gabungan [[Nondeterministic finite automaton|NFA]]/[[Deterministic finite automaton|DFA]] dengan karakteristik performa yang meningkat. Proyek [[perangkat lunak]] yang telah mengadopsi implementasi ekspresi reguler Tcl Spencer di antaranya adalah [[PostgreSQL]]. Perl kemudian memperluas pustaka awal Spencer untuk menambahkan banyak fitur baru. Salah satu bagian dari alasan mendesain [[Raku (bahasa pemrograman)|Raku]] adalah untuk memperbaiki integrasi ekpresi reguler Perl, dan untuk meningkatkan kemampuannya untuk memungkinkan mendefinisikan [[tata bahasa penguraian ekspresi]]. Hasilnya adalah sebuah [[bahasa mini]] yang disebut [[aturan Raku]], yang digunakan untuk mendefinisikan tata bahasa Raku serta menyediakan peralatan untuk pemrogram bahasa Raku. Aturan-aturan ini mempertahankan fitur yang sudah ada dalam ekspresi reguler Perl 5.x, tetapi juga memungkinkan definisi [[pengurai turun rekursif]] bergaya [[bentuk Backus–Naur|BNF]] melalui subaturan.
Pada 1980-an ekspresi reguler yang lebih rumit muncul dalam [[Perl]], yang awalnya diturunkan dari sebuah pustaka ekspresi reguler yang ditulis oleh [[Henry Spencer]] (1986), yang kemudian menuliskan sebuah implementasi ''Advanced Regular Expressions'' untuk [[Tcl]].<ref>[http://www.tcl.tk/doc/howto/regexp81.html New Regular Expression Features in Tcl 8.1].</ref> Pustaka Tcl merupakan impelementasi gabungan [[Nondeterministic finite automaton|NFA]]/[[Deterministic finite automaton|DFA]] dengan karakteristik performa yang meningkat. Proyek [[perangkat lunak]] yang telah mengadopsi implementasi ekspresi reguler Tcl Spencer di antaranya adalah [[PostgreSQL]].<ref>[http://www.postgresql.org/docs/9.3/interactive/functions-matching.html PostgreSQL 9.3.1 Documentation: 9.7. Pattern Matching].</ref> Perl kemudian memperluas pustaka awal Spencer untuk menambahkan banyak fitur baru.<ref>Wall, Larry and the Perl 5 development team. [http://perldoc.perl.org/perlre.html perlre: Perl regular expressions]. 2006.</ref> Salah satu bagian dari alasan mendesain [[Raku (bahasa pemrograman)|Raku]] adalah untuk memperbaiki integrasi ekpresi reguler Perl, dan untuk meningkatkan kemampuannya untuk memungkinkan mendefinisikan [[tata bahasa penguraian ekspresi]].<ref>[https://id.wikipedia.org/w/index.php?title=Ekspresi+reguler&oldid=28439411 sumber pada Wikipedia bahasa Indonesia]</ref> Hasilnya adalah sebuah [[bahasa mini]] yang disebut [[aturan Raku]], yang digunakan untuk mendefinisikan tata bahasa Raku serta menyediakan peralatan untuk pemrogram bahasa Raku. Aturan-aturan ini mempertahankan fitur yang sudah ada dalam ekspresi reguler Perl 5.x, tetapi juga memungkinkan definisi [[pengurai turun rekursif]] bergaya [[bentuk Backus–Naur|BNF]] melalui subaturan.


Penggunaan ekspresi reguler dalam standar informsi terstruktur untuk pemodelan dokumen dan basis data dimulai pada 1960-an dan diperluas pada 1980-an ketika standar industri seperti [[Standard Generalized Markup Language|ISO SGML]] (didahului oleh "GCA 101-1983" ANSI) berkonsolidasi. Kernel dari standar [[Skema XML#Validasi|bahasa spesifikasi struktur]] terdiri dari ekspresi reguler. Penggunaannya paling terlihat dalam [[Sintaksis|sintaks]] grup elemen [[Definisi jenis dokumen|DTD]].
Penggunaan ekspresi reguler dalam standar informsi terstruktur untuk pemodelan dokumen dan basis data dimulai pada 1960-an dan diperluas pada 1980-an ketika standar industri seperti [[Standard Generalized Markup Language|ISO SGML]] (didahului oleh "GCA 101-1983" ANSI) berkonsolidasi. Kernel dari standar [[Skema XML#Validasi|bahasa spesifikasi struktur]] terdiri dari ekspresi reguler. Penggunaannya paling terlihat dalam [[Sintaksis|sintaks]] grup elemen [[Definisi jenis dokumen|DTD]].
Baris 18: Baris 20:
Mulai tahun 1997, [[Philip Hazel]] mengemangkan [[Perl Compatible Regular Expressions|PCRE]] (Perl Compatible Regular Expressions), yang mencoba menirukan fungsionalitas ekspresi reguler Perl dan digunakan dalam banyak perkakas modern seperti [[PHP]] dan [[Apache HTTP Server]].
Mulai tahun 1997, [[Philip Hazel]] mengemangkan [[Perl Compatible Regular Expressions|PCRE]] (Perl Compatible Regular Expressions), yang mencoba menirukan fungsionalitas ekspresi reguler Perl dan digunakan dalam banyak perkakas modern seperti [[PHP]] dan [[Apache HTTP Server]].


Sekarang, ekspresi reguler didukung oleh banyak bahasa pemrograman, program pengolah teks (khususnya [[lekser]]), penyunting teks yang lebih maju, dan beberapa program lain. Dukungan untuk ekspresi reguler merupakan bagian dari [[pustaka standar]] banyak bahasa pemrograman, seperti [[Java (bahasa pemrograman)|Java]] dan [[Python (bahasa pemrograman)|Python]], dan merupakan bagian dari sintaks bahasa pemrograman lainnya, seperti Perl dan [[ECMAScript]]. Implementasi dari fungsionalitas ekspresi reguler disebut sebuah '''mesin ekspresi reguler''' (), dan terdapat pustaka-pustaka yang bisa digunakan. Pada akhir 2010-an, beberapa perusahaan mulai menawarkan [[perangkat keras]], [[FPGA]], implementasi [[GPU]] dari mesin ekspresi reguler yang kompatibel [[PCRE]] yang lebih cepat dibandingkan dengan implementasi [[CPU]].
Sekarang, ekspresi reguler didukung oleh banyak bahasa pemrograman, program pengolah teks (khususnya [[lekser]]), penyunting teks yang lebih maju, dan beberapa program lain. Dukungan untuk ekspresi reguler merupakan bagian dari [[pustaka standar]] banyak bahasa pemrograman, seperti [[Java (bahasa pemrograman)|Java]] dan [[Python (bahasa pemrograman)|Python]], dan merupakan bagian dari sintaks bahasa pemrograman lainnya, seperti Perl dan [[ECMAScript]]. Implementasi dari fungsionalitas ekspresi reguler disebut sebuah '''mesin ekspresi reguler''' (), dan terdapat pustaka-pustaka yang bisa digunakan. Pada akhir 2010-an, beberapa perusahaan mulai menawarkan [[perangkat keras]], [[FPGA]],<ref>[https://grovf.com/products/gregex GROVF Big Data Analytics Acceleration]. ''grovf.com''.</ref> implementasi [[GPU]]<ref>[http://bkase.github.io/CUDA-grep/finalreport.html CUDA grep]. ''bkase.github.io''.</ref> dari mesin ekspresi reguler yang kompatibel [[PCRE]] yang lebih cepat dibandingkan dengan implementasi [[CPU]].
 
 
== Referensi ==
 


==Daftar pustaka==
==Daftar pustaka==
 
*  
*
*  
*
*  
*
*  
*
*  
*
 


==Pranala luar==
==Pranala luar==
 
*  
*
*  
*
* ISO/IEC 9945-2:1993 [http://www.iso.org/iso/catalogue_detail.htm?csnumber=17841 ''Information technology – Portable Operating System Interface (POSIX) – Part 2: Shell and Utilities'']
* ISO/IEC 9945-2:1993 [http://www.iso.org/iso/catalogue_detail.htm?csnumber=17841 ''Information technology – Portable Operating System Interface (POSIX) – Part 2: Shell and Utilities'']
* ISO/IEC 9945-2:2002 [http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?csnumber=37313 ''Information technology – Portable Operating System Interface (POSIX) – Part 2: System Interfaces'']
* ISO/IEC 9945-2:2002 [http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?csnumber=37313 ''Information technology – Portable Operating System Interface (POSIX) – Part 2: System Interfaces'']
Baris 43: Baris 38:
* [http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html Regular Expression, IEEE Std 1003.1-2017, Open Group]
* [http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html Regular Expression, IEEE Std 1003.1-2017, Open Group]


== Referensi ==
<references />


== Sumber dan atribusi ==


== Sumber dan atribusi ==
Konten artikel ini diadaptasi dari [https://id.wikipedia.org/w/index.php?title=Ekspresi+reguler&oldid=28439411 Wikipedia bahasa Indonesia], revisi 28439411 (2025-11-13T03:20:32Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Gambar pada artikel ini bersumber dari Wikimedia Commons dan mengikuti ketentuan lisensi masing-masing berkas. Mohon gunakan konten dan media secara bijak serta sesuai dengan ketentuan lisensi yang berlaku.


Konten artikel ini diadaptasi dari [https://id.wikipedia.org/w/index.php?title=Ekspresi+reguler&oldid=28439411 Wikipedia bahasa Indonesia], revisi 28439411 (2025-11-13T03:20:32Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Mohon gunakan konten ini secara bijak serta sesuai dengan ketentuan lisensi yang berlaku.
<!-- WIKI_UNISSULA_PRESENTATION_V4 -->

Revisi terkini sejak 23 Agustus 2026 14.05

The river effect in justified text

Ekspresi reguler (, dipendekkan menjadi regex atau regexp;[1] juga disebut ekspresi rasional)[2][3] adalah serangkaian karakter yang mendefinisikan sebuah pola pencarian. Pola tersebut biasanya digunakan oleh algoritme pencarian string untuk melakukan operasi "cari" atau "cari dan ganti" pada string, atau untuk memeriksa string masukan. Ekspresi reguler merupakan teknik yang dikembangakan dalam bidang ilmu komputer teori dan teori bahasa formal.

Konsep ini muncul pada 1950-an ketika matematikawan Amerika Stephen Cole Kleene memformalkan deskripsi sebuah bahasa reguler. Konsep ini menjadi banyak digunakan untuk utilitas pengolahan teks Unix. Beberapa sintaks untuk menulis ekspresi reguler telah dibuat sejak 1980-an, salah satunya adalah standar POSIX dan yang satu lagi, yang sering digunakan, adalah sintaks Perl.

Ekspresi reguler digunakan dalam mesin pencari, dialog cari dan ganti dalam pengolah kata dan penyunting teks, dalam utilitas pengolahan teks seperti sed dan AWK dan dalam analisis leksikal. Kebanyakan bahasa pemrograman menyediakan pengolah ekspresi reguler baik secara bawaan atau melalui pustaka.

Sejarah

Ekspresi reguler berawal pada tahun 1951, ketika matematikawan Stephen Cole Kleene menjelaskan bahasa reguler menggunakan notasi matematikanya yang disebut regular events.[4] Notasi ini dilahirkan dari bidang ilmu komputer teori, dalam subbidang teori otomata (pemodelan komputasi) dan deskripsi dan klasifikasi bahasa formal. Implementasi pencocokan pola lainnya di antaranya adalah bahasa SNOBOL, yang tidak menggunakan ekspresi reguler, melainkan menggunakan konstruksi pencocokan polanya sendiri.

Ekspresi reguler menjadi populer sejak tahun 1968 dalam dua jenis penggunaan: pencocokan pola dalam penyunting teks dan analisis leksikal dalam kompilator. Salah satu kemunculan pertama ekspresi reguler dalam bentuk program adalah ketika Ken Thompson menggunakan notasi Kleene dalam penyunting QED sebagai cara mencocokkan pola dalam berkas teks.[5][6] Demi kecepatan, Thompson mengimplementasikan pencocokan ekspresi reguler dengan melakukan kompilasi tepat waktu (JIT) ke kode IBM 7094 di Compatible Time-Sharing System, sebuah contoh awal penting dari kompilasi JIT. Dia kemudian menambahkan kemampuan ini ke penyunting Unix ed, yang kemudian berujung pada peralatan pencari populer grep menggunakan ekspresi reguler ("grep" adalah kata yang diturunkan dari perintah untuk mencari ekspresi reguler di penyunting ed: g/re/p, singkatan dari "Global search for Regular Expression and Print matching lines"[7]). Pada saat yang sama dengan Thompson mengembangkan QED, sekelompok peneliti di antaranya Douglas T. Ross mengimplementasikan sebuah perkakas berdasar ekspresi reguler yang digunakan untuk analisis leksikal dalam perancangan kompilator.

Banyak variasi dari bentuk-bentuk awal ekspresi reguler digunakan di program-program Unix di Bell Labs pada 1970-an, di antaranya adalah vi, lex, sed, AWK, dan expr, dan program lainnya seperti Emacs. Ekspresi reguler kemudian diadopsi oleh berbagai jenis program, dengan bentuk-bentuk awalnya distandarkan sebagai standar POSIX.2 pada tahun 1992.

Pada 1980-an ekspresi reguler yang lebih rumit muncul dalam Perl, yang awalnya diturunkan dari sebuah pustaka ekspresi reguler yang ditulis oleh Henry Spencer (1986), yang kemudian menuliskan sebuah implementasi Advanced Regular Expressions untuk Tcl.[8] Pustaka Tcl merupakan impelementasi gabungan NFA/DFA dengan karakteristik performa yang meningkat. Proyek perangkat lunak yang telah mengadopsi implementasi ekspresi reguler Tcl Spencer di antaranya adalah PostgreSQL.[9] Perl kemudian memperluas pustaka awal Spencer untuk menambahkan banyak fitur baru.[10] Salah satu bagian dari alasan mendesain Raku adalah untuk memperbaiki integrasi ekpresi reguler Perl, dan untuk meningkatkan kemampuannya untuk memungkinkan mendefinisikan tata bahasa penguraian ekspresi.[11] Hasilnya adalah sebuah bahasa mini yang disebut aturan Raku, yang digunakan untuk mendefinisikan tata bahasa Raku serta menyediakan peralatan untuk pemrogram bahasa Raku. Aturan-aturan ini mempertahankan fitur yang sudah ada dalam ekspresi reguler Perl 5.x, tetapi juga memungkinkan definisi pengurai turun rekursif bergaya BNF melalui subaturan.

Penggunaan ekspresi reguler dalam standar informsi terstruktur untuk pemodelan dokumen dan basis data dimulai pada 1960-an dan diperluas pada 1980-an ketika standar industri seperti ISO SGML (didahului oleh "GCA 101-1983" ANSI) berkonsolidasi. Kernel dari standar bahasa spesifikasi struktur terdiri dari ekspresi reguler. Penggunaannya paling terlihat dalam sintaks grup elemen DTD.

Mulai tahun 1997, Philip Hazel mengemangkan PCRE (Perl Compatible Regular Expressions), yang mencoba menirukan fungsionalitas ekspresi reguler Perl dan digunakan dalam banyak perkakas modern seperti PHP dan Apache HTTP Server.

Sekarang, ekspresi reguler didukung oleh banyak bahasa pemrograman, program pengolah teks (khususnya lekser), penyunting teks yang lebih maju, dan beberapa program lain. Dukungan untuk ekspresi reguler merupakan bagian dari pustaka standar banyak bahasa pemrograman, seperti Java dan Python, dan merupakan bagian dari sintaks bahasa pemrograman lainnya, seperti Perl dan ECMAScript. Implementasi dari fungsionalitas ekspresi reguler disebut sebuah mesin ekspresi reguler (), dan terdapat pustaka-pustaka yang bisa digunakan. Pada akhir 2010-an, beberapa perusahaan mulai menawarkan perangkat keras, FPGA,[12] implementasi GPU[13] dari mesin ekspresi reguler yang kompatibel PCRE yang lebih cepat dibandingkan dengan implementasi CPU.

Daftar pustaka

Pranala luar

Referensi

  1. Jan Goyvaerts. Regular Expression Tutorial - Learn How to Use Regular Expressions. www.regular-expressions.info.
  2. Ruslan Mitkov. The Oxford Handbook of Computational Linguistics. Oxford University Press. 2003. hlm. 754. ISBN 978-0-19-927634-9.
  3. Mark V. Lawson. Finite Automata. CRC Press. 17 September 2003. hlm. 98–100. ISBN 978-1-58488-255-8.
  4. Hing Leung. Regular Languages and Finite Automata. New Mexico State University. 16 September 2010.
  5. Brian Kernighan. Beautiful Code. O'Reilly Media. 2007-08-08. hlm. 1–2. ISBN 978-0-596-51004-6.
  6. Dennis M. Ritchie. An incomplete history of the QED Text Editor.
  7. Raymond, Eric S. citing Dennis Ritchie. Jargon File 4.4.7: grep. 2003.
  8. New Regular Expression Features in Tcl 8.1.
  9. PostgreSQL 9.3.1 Documentation: 9.7. Pattern Matching.
  10. Wall, Larry and the Perl 5 development team. perlre: Perl regular expressions. 2006.
  11. sumber pada Wikipedia bahasa Indonesia
  12. GROVF Big Data Analytics Acceleration. grovf.com.
  13. CUDA grep. bkase.github.io.

Sumber dan atribusi

Konten artikel ini diadaptasi dari Wikipedia bahasa Indonesia, revisi 28439411 (2025-11-13T03:20:32Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Gambar pada artikel ini bersumber dari Wikimedia Commons dan mengikuti ketentuan lisensi masing-masing berkas. Mohon gunakan konten dan media secara bijak serta sesuai dengan ketentuan lisensi yang berlaku.