การใช้เรกุลาร์เอ็กเพรสชัน

Java:
การใช้เรกุลาร์เอ็กเพรสชัน

วิธีการ:

การสนับสนุนเรื่อง regex ใน Java หลักๆ อยู่ที่คลาส Pattern และ Matcher ในแพ็คเกจ java.util.regex นี่คือตัวอย่างง่ายๆ ในการค้นหาและพิมพ์คำทั้งหมดที่พบในสตริง โดยไม่คำนึงถึงตัวเล็กตัวใหญ่:

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

public class RegexExample {
    public static void main(String[] args) {
        String text = "Regex is great for parsing. Parsing with regex is powerful.";
        String wordToFind = "parsing";
        
        Pattern pattern = Pattern.compile(wordToFind, Pattern.CASE_INSENSITIVE);
        Matcher matcher = pattern.matcher(text);
        
        while (matcher.find()) {
            System.out.println("พบ '" + matcher.group() + "' ที่ตำแหน่ง " + matcher.start());
        }
    }
}

ผลลัพธ์:

พบ 'parsing' ที่ตำแหน่ง 16
พบ 'Parsing' ที่ตำแหน่ง 31

สำหรับงานเช่นการแยกสตริง คุณสามารถใช้เมธอด split() ของคลาส String ร่วมกับ regex:

public class SplitExample {
    public static void main(String[] args) {
        String text = "Java,Python,Ruby,JavaScript";
        String[] languages = text.split(",");
        
        for (String language : languages) {
            System.out.println(language);
        }
    }
}

ผลลัพธ์:

Java
Python
Ruby
JavaScript

เมื่อทำงานกับ regex ใน Java อาจมีกรณีที่ไลบรารีภายนอกสามารถทำให้งานซับซ้อนง่ายขึ้นได้ หนึ่งในไลบรารีบุคคลที่สามที่นิยมสำหรับทำงานกับ regex ใน Java คือ Apache Commons Lang มันเสนอยูทิลิตี้เช่น StringUtils ที่ทำให้งานบางอย่างเกี่ยวกับ regex ง่ายขึ้น นี่คือวิธีใช้งานเพื่อนับจำนวนของการตรงกันของ substring:

import org.apache.commons.lang3.StringUtils;

public class CommonsLangExample {
    public static void main(String[] args) {
        String text = "Regex makes text processing easier. Processing text with regex is efficient.";
        String substring = "processing";
        
        int count = StringUtils.countMatches(text, substring);
        System.out.println("'" + substring + "' ปรากฏ " + count + " ครั้ง.");
    }
}

ในการใช้ Apache Commons Lang คุณจำเป็นต้องรวมมันเข้ากับโปรเจกต์ของคุณ หากคุณใช้ Maven เพิ่ม dependency นี้ในไฟล์ pom.xml ของคุณ:

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.12.0</version> <!-- ตรวจสอบเวอร์ชันล่าสุด -->
</dependency>

ผลลัพธ์:

'processing' ปรากฏ 2 ครั้ง.