doupishan3309 2018-10-05 13:13
浏览 510
已采纳

PHP正则表达式:查找字符串中的所有连续数字序列?

Not sure if regular expressions are the right approach for this, but here is what I am looking to achieve... within a string composed of sorted digits such as 23412167894125123 I would like to extract all sequences of at least 3 consecutive digits:

  • 234
  • 6789
  • 123

Can this be done with regex? Otherwise what could be a sensible approach?

  • 写回答

3条回答 默认 最新

  • doxqszx09742 2018-10-05 13:32
    关注

    With RegEx, you can use:

    (123(?:4(?:5(?:6(?:7(?:89?)?)?)?)?)?|234(?:5(?:6(?:7(?:89?)?)?)?)?|345(?:6(?:7(?:89?)?)?)?|456(?:7(?:89?)?)?|567(?:89?)?|6789?|789)
    

    Try here: https://regex101.com/r/Ap8C2D/1

    If you test also with 012…:

    (012(?:3(?:4(?:5(?:6(?:7(?:89?)?)?)?)?)?)?|123(?:4(?:5(?:6(?:7(?:89?)?)?)?)?)?|234(?:5(?:6(?:7(?:89?)?)?)?)?|345(?:6(?:7(?:89?)?)?)?|456(?:7(?:89?)?)?|567(?:89?)?|6789?|789)
    

    Test: https://regex101.com/r/zm6I9x/1

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?