我正在尝试从字符串中获取所有数字,在数字前加-
或_
,并选择-
_
space
或结尾字符串在数字的末尾。
所以,我的正则表达式看起来像这样:
[-_][\d]+[-_ $]?
我的问题是,我不会紧接着匹配数字。从“foo-5234_2123_54-13-20”字符串中,我只获得5234
,54
和20
。
我尝试的是以下正则表达式:(?:[-_])[\d]+(?:[-_ $])?
和[-_]([\d]+)[-_ $]?
显然无法正常工作。我现在正在寻找几个小时,我知道它不会那么难,所以我希望有人可以帮助我。
如果这有任何区别,我正在使用PHP preg_match_all
。
答案 0 :(得分:1)