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

时间:2018-03-17 20:59:50

标签: php regex string pcre

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

我做错了什么?
我是regex的新手。

提前致谢。

1 个答案:

答案 0 :(得分:2)

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