Tôi phải tìm tất cả các chuỗi chỉ được tạo thành từ các chữ cái 'a' và 'b' và mỗi phiên bản của 'a' ngay lập tức được theo sau bởi 'b' và ngay sau đó là 'b'.Làm thế nào để nắm bắt toàn bộ chuỗi trong khi sử dụng 'lookaround' với ký tự trong regex?
Ví dụ:
mystring = 'bab babab babbab ab baba aba xyz'
Sau đó regex của tôi nên trở lại:
['bab' 'babab' 'babbab']
(Trong chuỗi 'ab' - 'a' không được đi trước bởi 'b' Tương tự như vậy cho 'aba'. và 'xyz' không được làm bằng chỉ 'a', 'b')
tôi đã sử dụng lookahead cho điều này và đã viết regex này:.
re.findall(r'((?<=b)a(?=b))',mystring)
Nhưng điều này chỉ trả lại cho tôi tất cả các trường hợp của 'a' được tiếp/trước bởi 'b' như:
['a','a','a','a']
Nhưng tôi cần toàn bộ từ. Làm thế nào tôi có thể tìm thấy toàn bộ từ bằng cách sử dụng regex? Tôi đã cố gắng sửa đổi regex của mình với các tùy chọn khác nhau, nhưng không có gì có vẻ hiệu quả. Điều này có thể giải quyết như thế nào?
cảm ơn nhiều, nó hoạt động .guess i sẽ phải cải thiện sự hiểu biết của tôi về các máy trạng thái hữu hạn –