Koronkorko là từ tiếng Phần Lan có nghĩa là lãi kép . Chúng tôi không muốn lãi kép trong chuỗi của chúng tôi, vì vậy hãy tìm biểu thức chính quy ngắn nhất có thể để loại trừ nó.
Cho một chuỗi chỉ bao gồm các ký tự chữ cái in hoa AZ, xác định biểu thức chính quy ngắn nhất có thể phù hợp với chuỗi nếu nó không chứa chuỗi con KORONKORKO
. Bất kỳ chuỗi nào chứa KORONKORKO
dưới dạng chuỗi con không được khớp với biểu thức chính quy.
Chỉ có nhân vật A
- Z
, [
, ]
, -
, ^
, ,
?
, *
, +
, |
, (
, và )
nên được sử dụng trong biểu thức.
Tôi nghĩ rằng điều này có thể được thực hiện với 118 ký tự trong biểu thức. Bạn có thể làm cho nó ngắn hơn?
Lưu ý: Thử thách này là của Ohjelmointiputka (tiếng Phần Lan).
!
không cho phép.
-
và ^
bên trong các lớp ký tự (vì vậy ^
không thể được sử dụng làm mỏ neo) và một trận đấu chỉ được tính nếu toàn bộ chuỗi được khớp với biểu thức chính quy (nghĩa là một ẩn xung quanh ^$
, như trái ngược với "regexes" thông thường, tính một chuỗi là khớp nếu bất kỳ phần nào của chuỗi khớp với regex)
!
là một ký tự được phép, bạn có thể thực hiện được^((?!KORONKORO).)*$
19 byte.