gpt4 book ai didi

php - 正则表达式在 = 之后获取值

转载 作者:行者123 更新时间:2023-12-05 04:09:12 28 4
gpt4 key购买 nike

我正在尝试从字符串 "adress=ad.test.com\n port= 中获取值 ad.test.com768 768" 使用此正则表达式,但它不起作用:/

$res = preg_split("/^adresse=([a-z]).*port=([0-9]{3})/", $test) ; 

最佳答案

这应该捕获您想要的 2 个数据点:

^adress=([a-z.]+).*port=([0-9]{3})

您还想将它与 preg_match 一起使用,而不是 preg_split

preg_match('/^adress=([a-z.]+).*port=([0-9]{3})/s', 'adress=ad.test.com\n port=768', $match);
echo $match[1] . ' ' . $match[2];

演示:https://3v4l.org/Ih929

关于正则表达式失败原因的注释:

  1. 字符类缺少.,字符类未量化。
  2. address 在您的字符串中,但您正在寻找 addresse 在您的正则表达式中
  3. . 不匹配新行,除非使用 s 修饰符。

正则表达式演示:https://regex101.com/r/3MSiDh/1/

不需要 s 修饰符的更准确的正则表达式:

^adress=([a-z.]+?)\s*port=(\d{3})

演示 2:https://regex101.com/r/3MSiDh/3/

关于php - 正则表达式在 = 之后获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46477706/

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