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