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

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

วิธีการ:

การจับคู่พื้นฐาน

เพื่อตรวจสอบว่าสตริงตรงกับรูปแบบใดรูปแบบหนึ่งใน Kotlin, คุณสามารถใช้เมธอด matches ของคลาส Regex ได้

val pattern = "kotlin".toRegex()
val input = "I love kotlin"
val result = pattern.containsMatchIn(input)

println(result)  // ผลลัพธ์: true

การค้นหาและแยกส่วนของสตริง

หากคุณต้องการค้นหาส่วนของสตริงที่ตรงกับรูปแบบใดรูปแบบหนึ่ง, Kotlin ช่วยให้คุณสามารถทำการวนซ้ำผ่านการจับคู่ทั้งหมดได้:

val datePattern = "\\d{2}/\\d{2}/\\d{4}".toRegex()
val input = "วันนี้คือวันที่ 07/09/2023."
val dates = datePattern.findAll(input)

for (date in dates) {
    println(date.value)
}
// ผลลัพธ์: 07/09/2023

การแทนที่ข้อความ

การแทนที่ส่วนของสตริงที่ตรงกับรูปแบบหนึ่งเป็นเรื่องง่ายด้วยฟังก์ชั่น replace:

val input = "Username: user123"
val sanitizedInput = input.replace("\\d+".toRegex(), "XXX")

println(sanitizedInput)  // ผลลัพธ์: Username: userXXX

การแบ่งสตริง

แบ่งสตริงออกเป็นรายการ, โดยใช้รูปแบบ regex ในฐานะตัวแบ่ง:

val input = "1,2,3,4,5"
val numbers = input.split(",".toRegex())

println(numbers)  // ผลลัพธ์: [1, 2, 3, 4, 5]

ไลบรารีอื่น ๆ: Kotest

Kotest เป็นไลบรารีทดสอบในภาษา Kotlin ที่ได้รับความนิยมซึ่งขยายการสนับสนุน regex ที่มีอยู่เดิมของ Kotlin, มีประโยชน์โดยเฉพาะสำหรับการตรวจสอบความถูกต้องในกรณีทดสอบ

// สมมติว่า Kotest ถูกเพิ่มเข้าในโปรเจ็กต์ของคุณ
import io.kotest.matchers.string.shouldMatch

val input = "[email protected]"
input shouldMatch "\\S+@\\S+\\.com".toRegex()

// การทดสอบนี้จะผ่านหากข้อมูลนำเข้าตรงกับรูปแบบอีเมล

ด้วยการรวมการใช้งาน regular expressions เข้ากับแอปพลิเคชัน Kotlin ของคุณ, คุณสามารถประมวลผลข้อความได้อย่างมีประสิทธิภาพ ไม่ว่าคุณจะต้องการตรวจสอบข้อมูลนำเข้าจากผู้ใช้, แยกข้อมูลออกมา, หรือแปลงสตริง, รูปแบบ regex มอบโซลูชันที่แข็งแกร่ง