Tôi muốn làm một cái gì đó (nhiều hơn là chỉ thay thế) với các chất nền phù hợp với một mẫu trong một chuỗi dài hơn. Nếu chuyển nhượng là một biểu thức trả về một giá trị, như trong C và hầu hết các ngôn ngữ lập trình khác, đây sẽ là (sử dụng cú pháp C với ngữ nghĩa Python):Trong Python, làm thế nào tôi có thể lặp qua tất cả các kết quả phù hợp của một biểu thức chính quy trên một chuỗi?
while (match = re.search(pat, str)) {
/* do something to the string, using the match object,
in addition to removing or replacing the substring
*/
}
hoặc một cách chi tiết hơn, tránh việc sử dụng một bài tập như một biểu thức:
for (match = re.search(pat, str);
match;
match = re.search(pat, str)) {
/* do something to the string, using the match object */
}
Ít nhất một trong các ngôn ngữ lập trình này là: C, C++, Java, Perl, Javascript, ... nhưng không có ngôn ngữ nào trong Python. Có một tương đương pythonic (không liên quan đến một mớ hỗn độn kludgey với một break hoặc tiếp tục tuyên bố)?
Câu trả lời phụ thuộc. Bạn đang lặp lại điều gì? Có chắc chắn là không có một bản đồ, nhưng chắc chắn là tương đương pythonic. Nếu bạn có thể chính xác hơn một chút với những gì bạn muốn ... bởi vì khi nó đứng thì câu hỏi này quá rộng. –