помогите написать regexp

vinslave

Новичок
помогите написать regexp

Регулярное выражение должно проверять, является ли переданное ему предложение вопросительным предложением с одним из вопросительных слов. Язык немецкий.

Список вопросительных слов записываю таким образом.
wann|warum|was|welche|wer

причем принимаются во внимание только те предложения, которые состоят из не менее чем 3-х слов и заканчиваются знаком вопроса. Отдельные слова можно ищются
/([\w]+)/
А как совместить все вместе? Или это невозможно сделать одинм выражением
 

ForJest

- свежая кровь
А вопросительное слово может стоять в любом месте?
 

vinslave

Новичок
да, в этом и есть часть проблемы. Если бы оно, скажем, стояло только на первом месте, анализировать было бы проще. А бывают случаи, когда стоит на 2-м, 3-м, 4-м месте.
 

ForJest

- свежая кровь
vinslave
Регэкспы основаны на конечных автоматах. КА реализуют автоматные грамматики (не помню какого уровня). А положение слова это уже задача контекстно-зависимого поиска. И решаться должна контекстно-зависимой грамматикой.
Поэтому просто сделай две реги.
Одна определяет есть ли там большу 3-й слов и заканчивается ли оно на `?', а вторая - есть ли там одно из нужных слов.
 

vinslave

Новичок
да, в 2 не сложно, в общем-то. Просто думал, что можно это красиво одним выражением сделать
 
Сверху