Computer >> Máy Tính >  >> Lập trình >> Python

Làm cách nào để không khớp một ký tự sau khi lặp lại trong Python Regex?


^
# Bắt đầu của chuỗi
(?!
# Không khớp nếu
| 2 {1,2} 5)
# Hoặc có một hoặc hai số 2 theo sau là số 5
. *
# Bất kỳ điều gì khác đều được chấp nhận


Ví dụ

Đoạn mã sau đáp ứng các điều kiện trong câu hỏi đã cho

import re
foo = '2249678'
foo2 = '2259678'
result = re.findall(r'^(?!2{1,2}5).*', foo)
result2 = re.findall(r'^(?!2{1,2}5).*', foo2)
print result
print result2

Đầu ra

Điều này cho kết quả

['2249678']
[]