Если использовать python, подход без регулярных выражений будет:
>>> s = 'Stack Overflow - Ask Questions Here'
>>> s.split(' - ')
['Stack Overflow', 'Ask Questions Here']
>>> # To get the substring before the match
>>> s.split(' - ')[0]
'Stack Overflow'
Подход регулярного выражения может быть:
>>> import re
>>> re.split(' - ', s)[0]
'Stack Overflow'
Конечно, вы можете создать регулярное выражение, чтобы сопоставить всю строку с ожидаемым токеном, и сгруппировать первую часть, но с учетом этих двух методов это больше работы, чем необходимо.