Giter VIP home page Giter VIP logo

regex's Introduction

Regex

string regexPattern = @"^(?!..{2})(?!.[&=_'-+,<>])(?!..$)[a-zA-Z0-9][a-zA-Z0-9.][a-zA-Z0-9]$";

Penjelasan regex:

  1. ^ menandakan awal dari string.
  2. (?!.*.{2}) adalah negative lookahead yang memastikan tidak ada lebih dari satu titik berturut-turut.
  3. (?!.*[&='-+,<>]) adalah negative lookahead yang memastikan tidak ada karakter yang tidak diizinkan seperti tanda ampersand (&), sama dengan (=), garis bawah (), apostrof ('), tanda hubung (-), tanda tambah (+), koma (,), tanda kurung (<,>).
  4. (?!.*.$) adalah negative lookahead yang memastikan tidak ada titik sebagai karakter terakhir.
  5. [a-zA-Z0-9] adalah karakter pertama yang harus berupa huruf atau angka.
  6. [a-zA-Z0-9.]* adalah karakter-karakter selanjutnya yang dapat berupa huruf, angka, atau titik.
  7. [a-zA-Z0-9]$ adalah karakter terakhir yang harus berupa huruf atau angka.
  8. $ menandakan akhir dari string.

string regexPattern = "^\w+([.]\w+)@\w+([-.]\w+)\.\w+([-.]\w+)*$"

Penjelasan regex :

  1. ^ : Menandakan awal dari string. Ini memastikan bahwa keseluruhan string harus cocok dengan pola yang didefinisikan.
  2. \w+ : Mencocokkan satu atau lebih karakter huruf, angka, atau garis bawah (underscore) sebagai bagian dari nama pengguna email.
  3. ([.]\w+)* : Grup pengecualian yang mencocokkan titik (dot) dan satu atau lebih karakter huruf atau angka setelahnya. Ini memungkinkan penggunaan titik dalam nama domain, seperti dalam subdomain atau nama file. Tanda asterisk (*) menunjukkan bahwa grup pengecualian dapat muncul nol kali atau lebih.
  4. @ : Mencocokkan karakter at (@) yang digunakan sebagai pemisah antara nama pengguna dan domain email.
  5. \w+ : Mencocokkan satu atau lebih karakter huruf atau angka sebagai bagian dari nama domain.
  6. ([-.]\w+)* : Grup pengecualian yang mencocokkan tanda hubung atau garis bawah diikuti oleh satu atau lebih karakter huruf atau angka. Ini memungkinkan penggunaan tanda hubung atau garis bawah dalam nama domain. Grup pengecualian ini juga dapat muncul nol kali atau lebih.
  7. \. : Mencocokkan titik (dot) sebagai pemisah antara domain dan ekstensi domain.
  8. \w+ : Mencocokkan satu atau lebih karakter huruf atau angka sebagai bagian dari ekstensi domain.
  9. ([-.]\w+)* : Grup pengecualian yang mencocokkan tanda hubung atau garis bawah diikuti oleh satu atau lebih karakter huruf atau angka.
  10. $ : Menandakan akhir dari string. Ini memastikan bahwa keseluruhan string cocok dengan pola yang didefinisikan hingga akhir.

Sample

var emails = new List(){ // Email tidak valid "[email protected]", "astri&[email protected]", "[email protected]", "astrid'[email protected]", "[email protected]", "[email protected]", "astrid,[email protected]", "[email protected]", "[email protected]", "[email protected]", "[email protected].", "[email protected]", "astrid/[email protected]", "astrid/[email protected]", "astrid\[email protected]", // Email valid "[email protected]", "[email protected]", "[email protected]", "[email protected]" };
        string regexPattern = "^[a-zA-Z0-9._]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$";
        Regex regex = new Regex(regexPattern);

        foreach(var email in emails)
        {
            if (!regex.IsMatch(email))
            {
                Console.WriteLine($"Email tidak valid : {email}");
            }
        }

regex's People

Contributors

astridmagang avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.