Without doing it stupidly (like mine above) or with ubercomplex regex (semi- is fine, I'm still learning) is there a way to get "from the beginning until char"?
If you want to capture up to a certain character you can just capture it with parens and [^-]. The ^ right after the [ makes the match anything besides whatever is in this character class (ie. anything within []). There is no need for lookahead or lookbehind negative width assertions. That is:
/([^-]+)/
will capture anything besides a "-" as many times as it can,and store that in
$1, if you want it from the beginning you can add a
^ to the start of the regex (note the different meaning of
^ outside the character class square brackets), like so
/^([^-]+)/
This will anchor your match to start from the beginning. So any line starting with "-" will fail.
-enlil