Tôi đang làm việc trên một số bài tập về nhà cho các lớp học biên dịch của tôi và tôi có vấn đề sau đây:Có thể đơn giản hóa biểu thức chính quy này thêm nữa không?
Viết một biểu thức chính quy cho tất cả các chuỗi của một 's và b' s có chứa một số lẻ của số hoặc số lẻ là b (hoặc cả hai).
Sau rất nhiều công việc Bảng tôi đã đưa ra các giải pháp sau đây:
(aa|bb)* (ab|ba|a|b) ((aa|bb)* (ab|ba) (aa|bb)* (ab|ba) (aa|bb)*)*
Tuy nhiên, là đây là đơn giản nhất mà tôi có thể lấy nó? Tôi đã xem xét việc xây dựng DFA cố gắng để giảm thiểu số lượng các tiểu bang ở đó để xem nếu nó sẽ giúp tôi đơn giản hóa nhưng tôi figured tôi sẽ yêu cầu rất kinh nghiệm regex trên SO đầu tiên.
Bạn có quyền sử dụng các tính năng nâng cao nào của regex? –
anh ấy đang sử dụng cụm từ thông dụng trong Khoa học Máy tính chứ không phải PCRE hoặc posix regex;) Chúng khác nhau. –
@ Brad Gilbert, tôi cho rằng chúng tôi chỉ được phép sử dụng regex đã được giới thiệu cho đến nay trong cuốn sách mà không nhiều. (*, +,?, |, [], ^). Khá đơn giản. –