Character class \p{javaLowerCase} ใช้ match ตัวอักษรพิมพ์เล็ก (lowercase letters) ตรงกับตัวอักษรที่ Character.isLowerCase(char) คืนค่า true
รายละเอียด
- Match:
a-zและตัวอักษรพิมพ์เล็กของ Unicode อื่นๆ (เช่น à, é, ñ, α, г, あ) - ไม่ match: ตัวพิมพ์ใหญ่, ตัวเลข, สัญลักษณ์, whitespace
- เทียบเท่ากับ
\p{Ll}(Unicode General Category: Lowercase Letter)
ตัวอย่างที่ 1: นับจำนวนตัวอักษรพิมพ์เล็ก
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexExample {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter a string:");
String input = sc.nextLine();
// Regex: ตัวอักษรพิมพ์เล็กแต่ละตัว
String regex = "\\p{javaLowerCase}";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
int count = 0;
while (matcher.find()) {
count++;
}
System.out.println("Number of lower case characters: " + count);
}
}
Output
Enter a string This IS A sample TExt Number of lower case characters: 11
ตัวอย่างที่ 2: ตรวจสอบสตริงที่ประกอบด้วยตัวพิมพ์เล็กเท่านั้น
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
// Regex: เริ่มจบด้วยตัวพิมพ์เล็ก 1 ตัวขึ้นไป
String regex = "^\\p{javaLowerCase}+$";
Scanner sc = new Scanner(System.in);
System.out.println("Enter 5 input strings:");
String[] input = new String[5];
for (int i = 0; i < 5; i++) {
input[i] = sc.nextLine();
}
Pattern p = Pattern.compile(regex);
System.out.println("Strings with only lower case characters:");
for (int i = 0; i < 5; i++) {
Matcher m = p.matcher(input[i]);
if (m.matches()) {
System.out.println(m.group());
}
}
}
}
Output
Enter 5 input strings: Raju RAMU rahman radha SUnDar* Strings with only lower case characters: rahman radha
หมายเหตุเพิ่มเติม
\p{javaLowerCase}เป็น POSIX-like character class เฉพาะ Java- ใช้
Pattern.UNICODE_CHARACTER_CLASSflag เพื่อให้รองรับ Unicode penuh (default ใน Java 7+) - สำหรับ ASCII เท่านั้น ใช้
[a-z]จะเร็วกว่า