Penggunaan Regular Expression Bahasa Java



Kasus Penggunaan
a.       Program menentukan apakah string sesuai pola atau tidak
package regex1;

public class Regex1
{
    public static void main(String[] args)
    {
        String text = "sari";
        String text_with_space = "sari";
        if(text.matches("sari")) //melakukan seleksi pencocokan pola
        {
            System.out.println("terdapat string sari");
        }
        else
        {
            System.out.println("tidak ada string sari");
        }
        if(text_with_space.matches("sari"))//melakukan seleksi pencocokan pola
        {
            System.out.println("terdapat string sari");
        }
        else
        {
            System.out.println("tidak ada string sari");
        }
    }
}
Output




b. Program pencarian kata pada sebuah kalimat
package regex2;

public class Regex2
{
    public static void main(String[] args)
    {
       String regex = ".+regex.+"; //menentukan pola string yang mempunyai awalan dan akhiran
       String text = "saya belajar regex di teori bahasa dan otomata";
       if(text.matches(regex)) //seleksi pencocokan pola
       {
           System.out.println("Terdapat kata regex");
       }
       else
       {
           System.out.println("Tidak ada kata regex");
       }
    }
}
Output

c.      Program pencarian pola nomor telepon
package regex3;
import java.util.ArrayList;
import java.util.List;

public class Regex3
{
    public static void main(String[] args)
    {
        List<String> input = new ArrayList<>();
        input.add("123-45-6789");
        input.add("9876-5-4321");
        input.add("987-65-4321 (attack)");
        input.add("987-65-4321 ");
        input.add("192-83-7465");
       
        for (String ssn : input)
        {
            if (ssn.matches("^(\\d{3}-?\\d{2}-?\\d{4})$")) //seleksi pencocokan pola digit
            {
                System.out.println("Nomor telepon yang sesuai: " + ssn);
            }
        }
    }
}
Output

 d.       Mengganti beberapa angka
package regex4;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Regex4
{
    public static void main(String[] args)
    {
        String input = "User Id=12345. Some more Id=34567. This client Num=100";

        Pattern p = Pattern.compile("(Id=)(\\d+)");
        Matcher m = p.matcher(input);

        StringBuffer result = new StringBuffer();
        while (m.find())
        {
            System.out.println("Masking: " + m.group(2));
            m.appendReplacement(result, m.group(1) + "*****"); //mnengganti hasil
        }
        m.appendTail(result); //menambahkan dan mengganti hasil
        System.out.println(result);
    }
}
Output

 

Previous
Next Post »
Thanks for your comment