Cara berhenti merasa takut dan jatuh cinta dengan ekspresi reguler

Di tempat kerja dan dalam kehidupan sehari-hari, kita benar-benar dikelilingi oleh teks: buku dan artikel, surat dan obrolan, halaman web, dan kode program. Sebabnya, kehidupan biologis itu sendiri didasarkan pada DNA. Dan untuk pekerjaan yang efektif dalam mencari atau memodifikasi teks, alat canggih telah lama ditemukan - ekspresi reguler, atau ekspresi reguler. Namun, karena sejumlah alasan, tidak semua menggunakannya, atau menanganinya hanya jika terpaksa jika benar-benar diperlukan. Dalam artikel ini, saya akan mencoba memperbaiki situasi yang menyedihkan ini.









Untuk menemukan fungsi, memanggilnya bersama dan memalsukannya dengan satu keinginan hitam.



Sudah ada sejumlah artikel bagus di Habré yang akan membantu Anda memahami dasar-dasarnya:





, , .







, . , :







^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#$&^()*])[a-zA-Z--0-9!@#$&^()*]{1,}$

      
      





. , . : « , ?».









, regex.





. Notepad++ (, – ).

, Ctrl+f, «Regular expression» !









Notepad++.



1.



(, ) « »











! «».

– . ( «Math Case»), . «», «», «» . , . , . , .







, , – . . , .







Langkah pertama telah diambil, dan tidak ada yang menghalangi kita untuk terus maju.









2. Karakter wildcard



Peluang umum lainnya - ini adalah wildcard (wildcard) dan asterisk " * ". Ini menggantikan sejumlah karakter yang valid. Contoh paling umum adalah mencari file.







Katakanlah kita ingin mencari foto-foto liburan di tepi laut. Untuk melakukan ini, masukkan " * .png " di bilah pencarian dan dapatkan daftar semua foto di folder:









 .png
 .png
--, .png
 .png
 , -.png

      
      





Sudah bagus. Apa yang terjadi jika kita menambahkan kata "laut" sebelum atau sesudah tanda bintang?

laut * .png



 .png

      
      





* sea.png



--, .png

      
      





Opsi berikutnya akan mengembalikan apa yang Anda butuhkan:

* sea * .png



 .png
--, .png
 , -.png

      
      





«**.png» — , – - ( «.png» - «»), .







, , , . — «.*».









3. «.*»



– « , 0 ». « ». « ».







, , , , . , : «.*» «.*»»:











215 . …











, . «|»: :

(.*|.*)











, — 213. , , , « , .» .







, , :

(|)











. , . , , . , .







, , regex-.









Saruman memahami kekuatan di tangannya dan tidak takut padanya. Karena itu, dia selalu sadar akan segala hal.



4. Jumlah pengulangan atau pembilang



Kami telah menemukan satu pembilang - asterisk. Ada beberapa cara lagi untuk mengatur jumlahnya:

{4} jumlah yang tepat
{1,5} jarak
{2,} dari jumlah hingga tak terbatas
{, 7} dari 0 menjadi angka


Beberapa rentang yang umum digunakan memiliki simbolnya sendiri:

* atau {0,} kuantitas apapun
? atau {0,1} nol atau satu
+ atau {1,} setidaknya ada satu


Mari kita tanyakan seberapa sering kata yang sama disebutkan dalam satu paragraf:











2 — «(.*){2}» — 7 , — «(.*){3,}» — . «» 3 , «» «» «».









5.



( ) — . «\d», «\w», «[abc], «[1-9], «[.,?:;]».

, , :

«\d+» «\d{1,}» – :











. (37.), (. .) , 4 — \d{4}











1070 , 1421 — 351 .







.















: , , – , — . : . . «Replace»:











Sekarang Anda dapat membaca buku dengan terjemahan yang sudah tidak asing lagi. Tapi hati-hati: pola pencarian tidak hanya cocok dengan kata yang diinginkan, tetapi juga kata yang lebih panjang berisi kata yang diinginkan. Lalu, saat mengganti "dacha" dengan "village", kita bisa mendapatkan "village" atau "televillage". Dianjurkan untuk terlebih dahulu mencari template yang sama dan memeriksa hasilnya. Rumit template untuk pencarian yang lebih tepat. Dalam kasus "dacha" kita dapat menambahkan spasi sebelum kata dan spasi atau tanda baca di akhir: " dacha [.,!?;:] ".



Praktek penggunaan



Untuk membuat, mengedit, atau menjelajahi ekspresi reguler, saya sarankan menggunakan editor online yang Anda suka. Bagi saya, yang paling nyaman adalah REGEX101 :









Ring menemukan semua definisi fungsi dalam ISO C99 dan oleh karena itu sangat kuat.



Di bagian atas, kami memasukkan ekspresi reguler, dan di bagian bawah, teks yang kami cari. Editor secara otomatis menyoroti kecocokan yang ditemukan, saat Anda mengarahkan kursor ke bagian ekspresi, petunjuk yang menjelaskan artinya muncul, dan banyak fungsi berguna lainnya. Untuk mengganti, pilih "Substitusi" di panel kiri.



Kesimpulan



  • Gunakan pencarian lebih sering untuk kenyamanan dan mempercepat pekerjaan Anda.

  • Gunakan tanda bintang saat mencari file dengan membuat templat sederhana.
  • Mulailah menggunakan ekspresi reguler sederhana dalam pekerjaan harian Anda saat Anda mendapatkan pengalaman dan secara bertahap menjelajahi fitur baru.


Tentu saja artikel ini hanya menyentuh paling atas. Banyak fitur yang berguna dan kemungkinan masalah tidak dijaga. Namun jika Anda memiliki keinginan untuk mendalami dunia regex secara lebih mendalam, selain referensi buku dan tutorial di Internet, Anda bisa membaca artikel berikut di Habré:





Hari ini saya tidak bisa lagi membayangkan pekerjaan saya tanpa ekspresi reguler, serta tanpa metode pencetakan buta. Yang harus Anda lakukan hanyalah mulai menggunakannya. Itulah yang saya harapkan dari Anda.










All Articles