В настоящее время я пытаюсь создать программу, которая соответствует словам определенной длины или более, которые не содержат определенного слова.
В настоящее время у меня есть регулярное выражение: \S{4,}(?!\w*apple\w*)
При использовании на тесте: I love these delicious applestoo
Там Regex все равно будет соответствовать 'appletoo', чего я не хочу.
Я вижу, что это логическая ошибка, но я не понимаю, как еще отформатировать это регулярное выражение. Если у вас есть решение, pelase, скажите мне, спасибо заранее.
Edit:
Этот код теперь работает для моего примера: (?!\w*apple\w*)\b\S{4,}\b
Однако, при использовании этого нового примера он все равно не будет работать: 'logigng some testing data _______-----apple-###zx'
Я попытался исправить это с помощью: (?!\w*(apple|_)\w*)\b\S{4,}\b
, но это, похоже, не работает.