正则表达式匹配数字序列之前的子字符串

regex match sub-string before sequence of numbers

我只想得到 - 和 space 之后的 4 个数字。我制作了以下正则表达式来尝试匹配这些字符。 ^(- )+?(?=\d{4})$
如果我在下面的数字字符串上尝试这个正则表达式,我找不到匹配项。
- 7575

我做错了什么?
我对正则表达式很陌生。

提前致谢。

您的实际正则表达式是:
^(- )+? => 匹配 -
的序列 必须后跟 4 位数字 (?=\d{4}) 而不匹配它
然后结束句$
所以不可能。
你要么,如果你不想匹配数字,必须把结尾放在正前瞻中,比如
^(- )+?(?=\d{4}$)
或者像
一样删除正向先行 ^(- )+?\d{4}$