Thursday 3 April 2014

Oracle Regular Expression




Bir örnek ile açıklayacak olursak telefon numarası tanımı yapalım ve sadece sayısal değerler almasını sağlayalım.Bunun için aşağıdaki patterni kullanabiliriz.
 Telefon numaramızın 10 basamaktan oluştuğunu farzedelim.


 ‘[0123456789]’


‘[0123456789]{3}-[0123456789]{3}-[0123456789]{4}’     -- burada sadece rakamlardan oluştuğu belirtilmiştir.

‘[0-9]{3}-[0-9]{3}-[0-9]{4}’    --  max ve min değerleri belirtilerek yazılabilir






4 adet regular expression fonksiyonu bulunmaktadır.

  • REGEXP_LIKE        Eşleniği bulunursa true aksi takdirde false döndürür.
  • REGEXP_INSTR      Eşleniği bulunursa başlangıç ve bitiş pozisyonlarını döndürür aksi takdirde sıfır döndürürlür.
  • REGEXP_REPLACE            Aranılan desenle eşleşen karakterleri verir
  • REGEXP_SUBSTR  Aranılan desenin verinin kaçıncı karakterinde başladığını verir