繁体   English   中英

正则表达式多个匹配PHP

[英]Regex Multiple Matches PHP

我想从一个字符串获取所有数字,有-_数量和可选的前- _ space或字符串在数年底结束。

因此,我的正则表达式如下所示:

[-_][\d]+[-_ $]?

我的问题是,我彼此之间不匹配数字。 从“富-5234_2123_54-13-20”的字符串,我只得到52345420

我尝试了以下正则表达式: (?:[-_])[\\d]+(?:[-_ $])? [-_]([\\d]+)[-_ $]? 那显然没有用。 我现在正在找几个小时,我知道这不会那么难,所以我希望有人可以在这里帮助我。

如果有什么不同,我正在使用PHP preg_match_all

您只需要使用环顾四周

(?<=[-_])\d+(?=[-_ ]|$)

观看演示

幸运的是,PHP至少支持固定宽度的look-hinds,我们可以在这里使用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM