Tôi cần phải viết một regex, có thể xác định một từ có bộ ký tự lặp lại tại số kết thúc. Theo đoạn mã sau, bộ ký tự lặp lại là An
. Tôi cần phải viết một regex để điều này sẽ được phát hiện và hiển thị.Viết regex để phát hiện các ký tự lặp lại
Theo mã sau, \\w
sẽ khớp với bất kỳ ký tự từ nào (bao gồm chữ số, chữ cái hoặc ký tự đặc biệt). Nhưng tôi chỉ muốn xác định các ký tự tiếng Anh.
String stringToMatch = "IranAnAn";
Pattern p = Pattern.compile("(\\w)\\1+");
Matcher m = p.matcher(stringToMatch);
if (m.find())
{
System.out.println("Word contains duplicate characters " + m.group(1));
}
CẬP NHẬT
Word contains duplicate characters a
Word contains duplicate characters a
Word contains duplicate characters An
Có bao nhiêu ký tự được coi là "lặp lại"? Bạn có muốn gắn cờ 'chuối' (mặc dù đó là một từ hợp lệ) và' mama' (chỉ lặp lại các bộ). Làm thế nào về 'zoo' - lặp lại một ký tự đơn - hoặc' tomtom' (lặp lại ba ký tự). Nếu bạn muốn kết hợp "chỉ các ký tự tiếng Anh", hãy sử dụng '[A-Za-z]' để ký tự khớp. – Floris