gpt4 book ai didi

php - REGEX - 忽略换行符

转载 作者:行者123 更新时间:2023-12-04 21:48:59 24 4
gpt4 key购买 nike

我遇到了这行代码:

preg_match_all("!boundary=(.*)$!mi", $content, $matches);

但对于

Content-Type: multipart/alternative; boundary=f403045e21e067188c05413187fd\r\n



它返回

f403045e21e067188c05413187fd\r



什么时候应该回来

f403045e21e067188c05413187fd



(没有 \r )

任何想法如何解决这一问题?

PS。:它也应该适用于 \r不存在,只有 \n

最佳答案

有两种选择。

  • 使用惰性点匹配并添加一个可选的 \r :
    preg_match_all("!boundary=(.*?)\r?$!mi", $content, $matches);

  • this PHP demo
  • 使用 [^\r\n]匹配除 \r 之外的任何字符的否定字符类和 \n :
    preg_match_all("!boundary=([^\n\r]*)!mi", $content, $matches);

  • 或者,更短的版本,使用 \V匹配任何不是垂直空格(不是换行符)的字符的速记字符类:
    preg_match_all("!boundary=(\V*)!mi", $content, $matches);

    thisthis PHP demo .

    备注 第二种方法效率更高。

    关于php - REGEX - 忽略换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40578792/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com