欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

采集获取,关于正则表达式的多条结果,只获取1条

程序员文章站 2024-01-09 15:43:11
...
采集获取,关于正则表达式的多条结果,只获取1条,


  • 1

  • 2

  • 3

  • 4



表达式 获取结果 /
  • (.*?)
  • /i 匹配多条出来。也就是所有。

    有个疑问。

    只获取第一条。
    或者只获取最后一条。
    这正则怎么写?
    获取第一条,很多人认为会 /
      .*
    • (.*?)
    • / 除开这种,还会有其他吗?



      回复讨论(解决方案)

      匹配第一条
      用preg_match 不就行了
      最后一条可以用 /

    • (.*?)\s*/

      匹配第一条
      用preg_match 不就行了
      最后一条可以用 /

    • (.*?)\s*/

      规则里有多个(.*?)的,需要返回的做数组处理。

      例如
      /
    • ^2013-(.*?)(.*?)
    • /
      这样的话,后边不需要启动贪婪模式 U 吗
      同时也需要 preg_match_all 的?

      你不是要获取一条吗,用preg_match 就可以了。

      规则里有多个(.*?)的,需要返回的做数组处理。
      这个有影响吗,举例说明看看。

      preg_match_all 返回的是数组,你可以选择用哪一条结果

      你不是要获取一条吗,用preg_match 就可以了。

      规则里有多个(.*?)的,需要返回的做数组处理。
      这个有影响吗,举例说明看看。

      测试了。正如你所说的。返回做数组是没影响的。

      preg_match_all 返回的是数组,你可以选择用哪一条结果

      其实 preg_match_all 和preg_match 都一样。1个是匹配所有合适的。一个是匹配一条合适的。