为了账号安全,请及时绑定邮箱和手机立即绑定

如何在字符串和 | 之间获取数据

如何在字符串和 | 之间获取数据

PHP
猛跑小猪 2023-04-02 15:09:28
我有以下字符串:Name=Joe|LastName=Doe|City=NY|Country=US|Currency=$|Phone=0123456789|Adress=null例如,我想检索电话号码0123456789这是我所做的:Phone=(.*)|https://regex101.com/r/4nlrsW/2我想在 PHP 中使用它:preg_match('Phone=(.*)|', $mystring, $matches, PREG_OFFSET_CAPTURE); print_r($matches);
查看完整描述

1 回答

?
繁花不似锦

TA贡献1851条经验 获得超4个赞

笔记:

  • preg_match正则表达式字符串文字应包括正则表达式分隔符,例如/

  • 要从匹配中获取子字符串,您至少应该使用捕获组,或使用\K运算符

  • |是一个特殊的正则表达式元字符,如果在字符类之外使用,应该进行转义

  • .*是一个贪心模式,匹配除换行字符以外的尽可能多的字符。

你可以使用

'~Phone=\K[^|]+~'
  • Phone=- 文字字符串

  • \K- 匹配重置运算符丢弃匹配内存缓冲区中到目前为止匹配的所有文本

  • [^|]+- 除了|(|不必在字符类中转义) 之外的 1 个或多个字符。

$text='Name=Joe|LastName=Doe|City=NY|Country=US|Currency=$|Phone=0123456789|Adress=null';

if (preg_match('~Phone=\K[^|]+~', $text, $match)) {

    echo $match[0];

}


查看完整回答
反对 回复 2023-04-02
  • 1 回答
  • 0 关注
  • 81 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信