Tôi đã có danh sách các mẫu chính xác mà tôi muốn tìm kiếm trong một chuỗi nhất định. Hiện tại tôi đã có một giải pháp thực sự tồi tệ cho một vấn đề như vậy.Cách đối sánh chính xác các chuỗi "nhiều" trong Python
pat1 = re.compile('foo.tralingString')
mat1 = pat1.match(mystring)
pat2 = re.compile('bar.trailingString')
mat2 = pat2.match(mystring)
if mat1 or mat2:
# Do whatever
pat = re.compile('[foo|bar].tralingString')
match = pat.match(mystring) # Doesn't work
Điều kiện duy nhất là tôi có danh sách các chuỗi phải khớp chính xác. Giải pháp tốt nhất có thể có trong Python.
EDIT: Các mẫu tìm kiếm có một số mẫu dấu thường gặp.
Thực tế vấn đề phức tạp hơn một chút. Các mẫu tìm kiếm của tôi giống như '1. foo.trailingString 2. bar.trailingString'. Tôi đã cố gắng làm '[foo | bar] .trailingString', nhưng điều đó không thành công. – Neo
@Neo: thay đổi câu hỏi, đúng không. thử '(foo | bar) .trailingString' (mặc dù tôi không chắc chắn 100% cú pháp regex của Python) ... – ircmaxell
@ircmaxell: Python có cú pháp giống như PCRE chỉ với một vài khác biệt nhỏ mà tôi nghĩ. – BoltClock