Follow us on...
Follow us on G+ Follow us on Twitter Follow us on Facebook Watch us on YouTube
Register
Page 1 of 2 12 LastLast
Results 1 to 15 of 29
  1. #1
    Status
    Offline
    Anto.PJ's Avatar
    Forum Guru
    Join Date
    May 2011
    Location
    macz
    Posts
    1,697
    Reviews
    Read 0 Reviews
    Downloads
    7
    Uploads
    0
    Feedback Score
    0

    REGULAR EXPRESSION (basic)

    pertamanya.. ane memandang regex ini gak bakalan nyampe di otak ane.. tapi sedikit sedikit "terpancing" karena seringnya berhadapan konfigurasi squid dan.. L7 (yang kayaknya berubah2 implementasinya disetiap versi ROS)

    apa itu regex?? regular expression.. sebuah pengolahan text yang sering dipakai pada beberapa bahasa pemrograman. tanpa menggunakan regex ini, refresh pattern di squid jadi panjang banget.. pokoknya regex mengenali pola-pola data dengan proses matching.. dalam sebuah url yang panjang dan bertele-tele ternyata ada kunci untuk menyimpulkan data apa yang sedang direquest.. atau sedang di download, kunci inilah yang dirumuskan dalam regex, seperti seorang kriptografer.. :P

    ente yang pake windows atau linux base pasti tau apa itu wildcard atau globbing jika di Unix. Wildcard adalah sebuah string pola yang dapat digunakan untuk dicocokkan dengan sekumpulan nama file dan direktori. Mis: *.exe cocok dengan semua file berekstensi .exe. ???.3gp cocok dengan file .3gp. wildcard ini ternyata tidak sama polanya di windows, unix, dan linux.. nah.. regex mengambil jalan tengah..
    seperti wildcard, Regex mengenali berdasarkan pola, yang dicocokan terhadap string dari kiri ke kanan,

    tanda * dan ? disebuat karakter meta yang berarti alias.. (bukan sebenarnya red.)

    String Meta
    string meta itu terdiri dari | ( ) [ ] ? dimana
    • | adalah pemilihan (or)

    • ( dan ) adalah pengelompokan

    • [ dan ] untuk character set

    • ? yang berarti opsional


    contoh:

    elo|gue|end match dengan elo atau gue atau end selain itu nggak
    (kakiku|tanganku) sakit match dengan kakiku sakit atau tanganku sakit
    mikr[oi]ti(k|ng) match dengan mikrotik, mikritik, mikroting, mikriting
    [A-Za-z] match dengan alphabet huruf kapital, dan huruf kecil, tapi tidak match dengan 1,2,3,4,5....!@##
    [0-9] match dengan 1,2,3,4........0
    0[0-9][1-9] match dengan 001 - 099, tidak match dengan 0, 00, 10-99, 000, 100, 101, dst

    String opsional dan string meta lainnya
    • ? artinya boleh ada, boleh tidak

    • . artinya match dengan 1 karakter, apapun itu

    • * artinya tidak ada sama sekali (nol) atau lebih karakter

    • + artinya satu atau lebih karakter

    • ^ batas depan, berarti didepannya gak boleh adalagi karakter dan tutupnya adalah $ yang berarti dibelakannya udah ga ada lagi karakter, biasa disebut jangkar
      tetapi didalam [ ], $ bukan string meta..

    contoh

    (kom)?puter match dengan komputer atau puter
    kontr?ol match dengan kontrol atau .... heheheheh
    t.ket match dengan tiket, tzket, twket, t1ket, t*ket dan seterusnya
    b.?la match dengan bola, bela, bila, atau bla
    678 match dengan 12345678, 456789, pokoknya yang mengandung 678
    ^678 hanya match dengan 678, 6789, deretan 345678 tidak cocok
    34$ match dengan 1234, 234, 34 345678 tidak cocok

    string meta yang haus resource jika salah penggunaan
    .+ match dengan apapun itu.. yang penting string
    .* lebih parah lagi.. biarpun bukan string (ga ada karakter) diembat juga


    Quantifier

    ?, +, dan * sebetulnya adalah shortcut dari sebuah sintaks yang lebih umum, yaitu quantifier. Quantifier menyatakan berapa rentang jumlah yang diperbolehkan dari elemen yang di depannya. Format quantifier adalah salah satu dari:

    • X{m}, artinya elemen X harus terulang sebanyak persis m kali.

    • X{m,}, artinya elemen X harus ada minimal sebanyak m kali.

    • X{,n}, artinya elemen X boleh ada hingga terulang maksimal n buah.

    • X{m,n}, artinya elemen X boleh ada dari m hingga n buah.


    Beberapa contoh:
    \d{5} cocok dengan bilangan 00000, 10000 hingga 99999 (semua harus terdiri dari digit sebanyak lima buah).
    \d{1,5} cocok dengan bilangan 0-99999 (mulai dari satu hingga lima digit).
    \d{1,} cocok dengan deretan digit, atau sama dengan pola \d+.
    ? sama dengan {0,1}, + sama dengan {1,} dan * sama dengan {0,}.

    Lain-lain...
    jaman mikrotik V2.x dan V3.x kita menggunakan layer7 untuk konten video dengan regex seperti ini:
    • http/(0\.9|1\.0|1\.1)[\x09-\x0d ][1-5][0-9][0-9][\x09-\x0d -~]*(content-type: video)

    apa lagi itu???
    sama saja.. hanya beda bahasa... :v mari kita translate-kan..
    \x24 == $
    \x28 == (
    \x29 == )
    \x2a == *
    \x2b == +
    \x2e == .
    \x3f == ?
    \x5b == [
    \x5c == \
    \x5d == ]
    \x5e == ^
    \x7b == {
    \x7c == |
    \x7d == }
    pokoknya \xnn adalah kode hexadesimal nn, jadi hanya kode hexadesimal kok

    trus gimana dengan yang lainnya??
    • \x{nnnn} karakter hex code nnnn (1 byte untuk plain text dan 2 byte untuk Unicode)
      \x09 == \t tab (HT/TAB)
      \x0a == \n newline (NL)
      \x0d == \r car.return (CR)
      \x0c == \f form feed (FF)
      \x07 == \a alarm (bell) (BEL)
      \x1b == \e escape (ESC)

    tambah jauh tambah ngeri ya??

    untuk membuat sebuah karakter meta menjadi karakter yang berupa string (literal) kita perlu menambahkan "backslash".. ya.. "\"
    contoh: [0-9]+(.[0-9]*) >> salah apa benar?? benar benar aja sih.. tapi jika maksudnya adalah
    "Rangkaian satu atau lebih digit yang boleh diikuti oleh titik dan nol atau lebih digit lagi" yang maksudnya ntar hanya match dengan : 5, 0.3, 1012, dan 500.500. maka salah total..
    kenapa?? karena mengandung karakter meta (.) yang berarti.. boleh 0z1, 0+0 :P
    yang benar adalah..
    [0-9]+(\.[0-9]*)

    nah.. sekarang.. silahkan periksa2 squid agan2 sekalian... silahkan periksa refresh patternnya.. pelajari apa maksudnya.. :P
    sampe sekarang ane juga masih bingung..

    disadur dari file-file lama hasil intip-intip di web-server master.web.id dan
    Last edited by Anto.PJ; 25-06-2012 at 16:00. Reason: kurang spasi.. :P

  2. The Following 31 Users Say Thank You to Anto.PJ For This Useful Post:

    + Show/Hide list of the thanked


  3. #2
    Status
    Offline
    c0nf's Avatar
    Contributor
    Join Date
    Jul 2007
    Location
    Bandung, Indonesia
    Posts
    1,816
    Reviews
    Read 0 Reviews
    Downloads
    0
    Uploads
    0
    Feedback Score
    0
    pertamax ahhh Click here to enlarge
    Invisible...

  4. #3
    Status
    Offline
    sicopz's Avatar
    Calon Member
    Join Date
    Jan 2011
    Location
    Berau-Kaltim
    Posts
    97
    Reviews
    Read 0 Reviews
    Downloads
    6
    Uploads
    0
    Feedback Score
    0
    Mantap Bro,,,, Lanjutkan,,,Click here to enlargeClick here to enlarge

  5. #4
    Status
    Offline
    arxe's Avatar
    Member Senior
    Join Date
    Sep 2009
    Location
    Kota Tanjungpinang, Indonesia
    Posts
    371
    Reviews
    Read 0 Reviews
    Downloads
    2
    Uploads
    0
    Feedback Score
    0
    mantab gan,
    nice share

  6. #5
    Status
    Offline
    yosanpro's Avatar
    Co-Admin
    Join Date
    Nov 2007
    Location
    Bantul, Bantul, Yogyakarta
    Posts
    2,562
    Reviews
    Read 0 Reviews
    Downloads
    11
    Uploads
    4
    Feedback Score
    1 (100%)
    Nice share gan anto...
    A person's junk is another person's treasure.

  7. #6
    Status
    Offline
    Anto.PJ's Avatar
    Forum Guru
    Join Date
    May 2011
    Location
    macz
    Posts
    1,697
    Reviews
    Read 0 Reviews
    Downloads
    7
    Uploads
    0
    Feedback Score
    0
    makasih om-om semuanya.. ntar kalo ada waktu dilanjut ke expert (masih belajar juga)

  8. #7
    Status
    Offline
    dhopack's Avatar
    Forum Guru
    Join Date
    Dec 2010
    Posts
    1,919
    Reviews
    Read 0 Reviews
    Downloads
    2
    Uploads
    0
    Feedback Score
    0

    bingung

    udah baca 3x msh te2p Click here to enlarge nih otak kok susah mudengnya ya Click here to enlarge Click here to enlarge
    btw thx om tak bacane lg heheh

  9. #8
    Status
    Offline
    oktama's Avatar
    Forum Guru
    Join Date
    Jul 2008
    Location
    Jayapura
    Posts
    1,928
    Reviews
    Read 0 Reviews
    Downloads
    0
    Uploads
    0
    Feedback Score
    0
    sip bro anto, hasil kerja keras sendiri pasti akan membuahkan hasil yang manis Click here to enlarge

  10. #9
    Status
    Offline
    wandie's Avatar
    Member Super Senior
    Join Date
    Apr 2010
    Location
    banjarmasin,surabaya
    Posts
    621
    Reviews
    Read 0 Reviews
    Downloads
    5
    Uploads
    0
    Feedback Score
    0
    cman mw menambahkan ... spesial karakternya yang biasa di pake2 untuk berdasarkan apa aja , soalnya bahasa ini termasuk bahasa automata yang biasa eke gunain juga kalo mencari file2 tertentu dalam konteks yang sangat besar , bayangin aja .. ada bahasa ini jad mudah ... gak sesulit mencari jarum di dalam jerami... (ex.data temporer dalam hdd 2 tb) Click here to enlarge ijin yah Click here to enlarge

    ini tipe2 dan contohnya

    [ \m] << untuk karakter yang menggunakan spasi
    [A-Za-z0-9] << untuk karakter yang memakai alpanumerik
    [^A-Za-z0-9_] << tidak memakai huduf atau alfanumerik melainkan special karakter
    [A-Za-z] << karakter hurup dari kapital dan huruf kecil biasa
    [(?<=\M?El)(?=\D)|(?<=\A)(?=\D)] << untuk melakukan batasan2 tertentu dengan expression yang mw di tangkap
    [\x00-\x1F\x7F] << regular control
    [0-9] << angka
    [^0-9] << non angka (setiap ada ^ di atasnya biasa di kategorikan sebagai "bukan / yang tidak memiliki "
    [A-Fa-f0-9] << untuk hexadesimal karakter

    Click here to enlarge kalo salah mohon di benerin .. .. baru hal dalam mainan tulisan keriting gini ... untuk sakit lebih lanjut tanya ts aja ya Click here to enlarge

    nto nto Click here to enlarge maap ya ngacau dikit .. kebiasaan junk mulai lagi di sini Click here to enlarge
    Last edited by wandie; 19-10-2011 at 06:12.

  11. The Following 8 Users Say Thank You to wandie For This Useful Post:


  12. #10
    Status
    Offline
    oktama's Avatar
    Forum Guru
    Join Date
    Jul 2008
    Location
    Jayapura
    Posts
    1,928
    Reviews
    Read 0 Reviews
    Downloads
    0
    Uploads
    0
    Feedback Score
    0
    tambah lagi perbendaharaan-nya mantab lanjutkan Click here to enlarge

  13. #11
    Status
    Offline
    wandie's Avatar
    Member Super Senior
    Join Date
    Apr 2010
    Location
    banjarmasin,surabaya
    Posts
    621
    Reviews
    Read 0 Reviews
    Downloads
    5
    Uploads
    0
    Feedback Score
    0
    Click here to enlarge Originally Posted by oktama Click here to enlarge
    tambah lagi perbendaharaan-nya mantab lanjutkan Click here to enlarge
    ngejunk yokk Click here to enlarge Click here to enlarge

  14. #12
    Status
    Offline
    Anto.PJ's Avatar
    Forum Guru
    Join Date
    May 2011
    Location
    macz
    Posts
    1,697
    Reviews
    Read 0 Reviews
    Downloads
    7
    Uploads
    0
    Feedback Score
    0
    Click here to enlarge Originally Posted by oktama Click here to enlarge
    sip bro anto, hasil kerja keras sendiri pasti akan membuahkan hasil yang manis Click here to enlarge
    ya om.. ini juga masih belajar.. daripada copas, mending coba mengerti n bikin settingan sesuka hati..

    Click here to enlarge Originally Posted by imel
    nto nto maap ya ngacau dikit .. kebiasaan junk mulai lagi di sini..
    hehehehhh kalo untuk expertnya, mau nggak lanjutkan.. soalnya ane masih sering bingung

    yang jago bahasa inggris, kalo ada waktu tolong diterjemahkan

    akan sangat membantu.. dan ane yakin, akan banyak jempol untuk ente.. Click here to enlarge

  15. The Following User Says Thank You to Anto.PJ For This Useful Post:


  16. #13
    Status
    Offline
    wandie's Avatar
    Member Super Senior
    Join Date
    Apr 2010
    Location
    banjarmasin,surabaya
    Posts
    621
    Reviews
    Read 0 Reviews
    Downloads
    5
    Uploads
    0
    Feedback Score
    0
    Click here to enlarge Originally Posted by Anto.PJ Click here to enlarge
    ya om.. ini juga masih belajar.. daripada copas, mending coba mengerti n bikin settingan sesuka hati..


    hehehehhh kalo untuk expertnya, mau nggak lanjutkan.. soalnya ane masih sering bingung

    yang jago bahasa inggris, kalo ada waktu tolong diterjemahkan

    akan sangat membantu.. dan ane yakin, akan banyak jempol untuk ente.. Click here to enlarge
    bukan gak mw ngelanjutin sih . Click here to enlarge tapi ntar di bikin secara garis dasarnya aja .. kalo hubungann string nya sudah ke perl atau python ... sudah mengarah ke

    SNOBOL ( String Oriented Symbolic Language ) ... dan ini gak akan habis di bahas sampai 3 tahun kuliah Click here to enlarge (boso ne rek) .....

    lagian eke masih ngedalamin snobol ini .. bukan tusbol ya Click here to enlarge

    untuk secara garis besarnya aja ... kalo mw di lanjutin lebaih baik mengarah untuk keperluan saja .. kalo saran eke .. om anto mw nerusin mending bikin

    reggular expression for L7 filtering .... karena di squid pun termasuk filering Click here to enlarge

    kalo untuk bahasa yang lain mah banyak pungsinya ni bahasa tusbol Click here to enlarge ... dari web , prepention detektion , stimulan classified , regenerating script , reqruitmen string for annual language , suggested pattern , sampe SNOPY (snobol pyton matcher program << yang eke gunakan di proxy sekarang ) bisa2 sampai asembler robotic juga Click here to enlarge

    dan 1 lagi nih yahh .. eke lagi coba2 script SPITBOL ( speed implementation for snobol ) soalnya language ini di desain untuk mesin 2 beraksitektur SPARC , MIPSBE , MIPS , MIPSLE sampe POWERPC yang digunakan ruterboard2 sekarang .... sehingga kalo nerapkan l7 filtering spt ini ... resource mikrotik akan lebih ringan daripada pake REGEX l7 biasa Click here to enlarge dan matcher lebih akurad daripada REGEX l7 biasa Click here to enlarge
    Last edited by wandie; 19-10-2011 at 09:45. Reason: suka suka gue donk :P

  17. The Following 8 Users Say Thank You to wandie For This Useful Post:


  18. #14
    Status
    Offline
    m4l41k4t_p3n454r4n's Avatar
    Member
    Join Date
    Jun 2009
    Posts
    213
    Reviews
    Read 0 Reviews
    Downloads
    0
    Uploads
    0
    Feedback Score
    0
    Thanks penjelasan na gan, walaupun ilmu masih belum sampai di sini.
    Akan dicoba-coba sambil searching dulu.

  19. #15
    Status
    Offline
    adiputrolds's Avatar
    Forum Guru
    Join Date
    Oct 2008
    Posts
    1,485
    Reviews
    Read 0 Reviews
    Downloads
    0
    Uploads
    0
    Feedback Score
    0
    Click here to enlarge Originally Posted by Anto.PJ Click here to enlarge
    (kakiku|tanganku)sakit match dengan kakiku sakit atau tanganku sakit
    kurang space .....

    Click here to enlarge Originally Posted by Anto.PJ Click here to enlarge
    kontr?ol match dengan kontrol atau .... heheheheh
    ayooo apa .... nya ?

  20. The Following User Says Thank You to adiputrolds For This Useful Post:


 

 
Page 1 of 2 12 LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Basic Mikrotik?
    By phenom940 in forum Beginner Basics
    Replies: 15
    Last Post: 22-11-2009, 19:41
  2. Intelligent Network - Basic
    By b0813y in forum Articles
    Replies: 5
    Last Post: 08-11-2009, 21:33
  3. <<<<<ASK>>>>>>>> regular expression webproxy
    By ciupax in forum Beginner Basics
    Replies: 9
    Last Post: 01-08-2008, 00:23
  4. <ask> very basic networking
    By username in forum Beginner Basics
    Replies: 8
    Last Post: 09-01-2008, 10:23
  5. Hot spot basic
    By intipratama in forum Beginner Basics
    Replies: 2
    Last Post: 08-12-2007, 18:03

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •