Regular Expressions - Regex

 package main;


import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class Main {
public static void main(String[] args) {
String re = ".";
String text = "a";
Pattern pt = Pattern.compile(re);
Matcher mt = pt.matcher(text);
boolean result = mt.matches();
System.out.println(result);
}
}
Here we match any character. The output will be true.
1. . - matches any character except new line.
package main;

import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class Main {
public static void main(String[] args) {
String re = "\\w";
String text = "_";
Pattern pt = Pattern.compile(re);
Matcher mt = pt.matcher(text);
boolean result = mt.matches();
System.out.println(result);
}
}
The output will be true.
2. \w - matches word character (a-z, A-Z, 0-9, _).

package main;

import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class Main {
public static void main(String[] args) {
String re = "\\W";
String text = "]";
Pattern pt = Pattern.compile(re);
Matcher mt = pt.matcher(text);
boolean result = mt.matches();
System.out.println(result);
}
}
The output will be truw.
3. \W - matches not a word character.

package main;

import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class Main {
public static void main(String[] args) {
String re = "\\s";
String text = "\r";
Pattern pt = Pattern.compile(re);
Matcher mt = pt.matcher(text);
boolean result = mt.matches();
System.out.println(result);
System.out.println("\r");
}
}
Returns true.
4. \s - matches whitespace character. Same as to [\t\n\r\f]

package main;

import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class Main {
public static void main(String[] args) {
String re = "\\S";
String text = "p";
Pattern pt = Pattern.compile(re);
Matcher mt = pt.matcher(text);
boolean result = mt.matches();
System.out.println(result);
System.out.println("\r");
}
}
Returns true.
5. \S - matches non-whitespace character.
package main;

import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class Main {
public static void main(String[] args) {
String re = "\\d";
String text = "0";
Pattern pt = Pattern.compile(re);
Matcher mt = pt.matcher(text);
boolean result = mt.matches();
System.out.println(result);
System.out.println("\r");
}
}
Returns true.
6. \d - matches any digit [0-9].
package main;

import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class Main {
public static void main(String[] args) {
String re = "\\D";
String text = "'";
Pattern pt = Pattern.compile(re);
Matcher mt = pt.matcher(text);
boolean result = mt.matches();
System.out.println(result);
System.out.println("\r");
}
}
Returns true.
7. \D - matches nondigits.
8. Method find() in regex: finds a character or a word in text.
package main;

import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class Main {
public static void main(String[] args) {
Pattern p = Pattern.compile("a");
Matcher m = p.matcher("bcd bcd bcd bcda");
System.out.println(m.find());
}
}
Returns true.
9.
package main;

import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class Main {
public static void main(String[] args) {
Pattern p = Pattern.compile("a");
Matcher m = p.matcher("Parvin is an artist");
while (m.find()){
System.out.print(m.start() + " " + m.group() + " ");
}
System.out.println();
}
}
Finds character a in text.
10.
package main;

import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class Main {
public static void main(String[] args) {
Pattern p = Pattern.compile("cat");
Matcher m = p.matcher("About cats and dogs");
while (m.find()){
System.out.print(m.start() + " " + m.group() + " ");
}
System.out.println();
}
}
Finds a word in text.
11. How to evade special characters or metacharacters ( []\^$.|?*+() ).
package main;

import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class Main {
public static void main(String[] args) {
// Pattern p = Pattern.compile("1 \\+ 1 = 2");
Pattern p = Pattern.compile("\\Q1 + 1 = 2\\E");
Matcher m = p.matcher("1 + 1 = 2");
while (m.find()){
System.out.print(m.start() + " " + m.group() + " ");
}
System.out.println();
}
}

12.Range
package main;

import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class Main {
public static void main(String[] args) {
Pattern p = Pattern.compile("[a-b]");
Matcher m = p.matcher("abc");
while (m.find()){
System.out.print(m.start() + " " + m.group() + " ");
}
System.out.println();
}
}
Finds from a to b in text.

13.
package main;

import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class Main {
public static void main(String[] args) {
Pattern p = Pattern.compile("gr[ae]y");
Matcher m = p.matcher("grey");
while (m.find()){
System.out.print(m.start() + " " + m.group() + " ");
}
System.out.println();
}
}
Checks both gray and grey.
14. [^] symbol: not symbol.
package main;

import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class Main {
public static void main(String[] args) {
Pattern p = Pattern.compile("q[^u]");
Matcher m = p.matcher("Iraqu is a country");
while (m.find()){
System.out.print(m.start() + " " + m.group() + " ");
}
System.out.println();
}
}
Find q character that is not followed by u. 
15.Symbols of repetition (+ ; *).
package main;

import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class Main {
public static void main(String[] args) {
Pattern p = Pattern.compile("[0-9]+");
Matcher m = p.matcher("123 94");
while (m.find()){
System.out.print(m.start() + " " + m.group() + " ");
}
System.out.println();
}
}
Plus indicates that we want to find conplex of numbers.
16.
package main;

import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class Main {
public static void main(String[] args) {
Pattern p = Pattern.compile("\\d\\d[-:/.]\\d\\d[-:/.]\\d\\d");
Matcher m = p.matcher("02/12/2021");
while (m.find()){
System.out.print(m.start() + " " + m.group() + " ");
}
System.out.println();
}
}

17.
package main;

import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class Main {
public static void main(String[] args) {
Pattern p = Pattern.compile("\".*\"");
Matcher m = p.matcher("Put a \"string\" between dounble quotes");
while (m.find()){
System.out.print(m.start() + " " + m.group() + " ");
}
System.out.println();
}
}
18.\b\w+\b
package main;

import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class Main {
public static void main(String[] args) {
Pattern p = Pattern.compile("\\bis\\b");
Matcher m = p.matcher("there is a customer");
while (m.find()){
System.out.print(m.start() + " " + m.group() + " ");
}
System.out.println();
}
}
19. ^ - starts with and $ ends with. (\A - start and \Z end)
package main;

import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class Main {
public static void main(String[] args) {
Pattern p = Pattern.compile("^a");
// Pattern p = Pattern.compile("a$");
Matcher m = p.matcher("apple alfa algorithms");
while (m.find()){
System.out.print(m.start() + " " + m.group() + " ");
}
System.out.println();
}
}
20. Multiline
package main;

import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class Main {
public static void main(String[] args) {
Pattern p = Pattern.compile("ne$", Pattern.MULTILINE);
Matcher m = p.matcher("first line\nsecond line");
while (m.find()){
System.out.print(m.start() + " " + m.group() + " ");
}
System.out.println();
}
}
21. Pipeline | (this is like or)
package main;

import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class Main {
public static void main(String[] args) {
Pattern p = Pattern.compile("cat|dog");
Matcher m = p.matcher("I like cat and god");
while (m.find()){
System.out.print(m.start() + " " + m.group() + " ");
}
System.out.println();
}
}
22. Optional items
package main;

import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class Main {
public static void main(String[] args) {
Pattern p = Pattern.compile("colou?r");
Matcher m = p.matcher("color colour");
while (m.find()){
System.out.print(m.start() + " " + m.group() + " ");
}
System.out.println();
}
}
package main;

import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class Main {
public static void main(String[] args) {
Pattern p = Pattern.compile("Nov(ember)?");
Matcher m = p.matcher("November Nov");
while (m.find()){
System.out.print(m.start() + " " + m.group() + " ");
}
System.out.println();
}
}
23.

Комментарии

Популярные сообщения из этого блога

Lesson1: JDK, JVM, JRE

SE_21_Lesson_11: Inheritance, Polymorphism

SE_21_Lesson_9: Initialization Blocks, Wrapper types, String class