Я хочу проделать следующее с регулярными выражениями, но не знаю, как это сделать. Я хочу, чтобы он соответствовал one two, когда one two является началом строки, если только строка не содержит three где-либо после one two.





^one two(?!.*three)
Вам нужен отрицательное утверждение - примерно так:
/^one two(?!.*three)/m
Вот учебник по утверждениям просмотра вперед / назад
Примечание: я добавил модификатор 'm', чтобы ^ соответствовал началу строки, а не началу всей строки.
Вопросы о регулярных выражениях, даже очень специфические, по-видимому, привлекают изрядное внимание. Мне искренне интересно, почему.