加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP使用正则表达式从字符串中提取内容

发布时间:2020-12-13 21:41:38 所属栏目:PHP教程 来源:网络整理
导读:我有以下字符串,我想从中提
我有以下字符串,我想从中提取“383-0408”,显然内容发生了变化但是部件号始终跟在字符串“Our Stk#:”之后,我怎样才能最优雅地从字符串中提取这些信息?

Microchip Technology Inc.
18 PIN,7 KB FLASH,256 RAM,16 I/O 

Mfr's Part #: PIC16F648A-I/SO 
Our Stk #: 383-0408

解决方法

你可以这样做:

<?php

$str = "Microchip Technology Inc.
18 PIN,16 I/O 

Mfr's Part #: PIC16F648A-I/SO 
Our Stk #: 383-0408";

if (preg_match('/Our Stk #: (d*-d*)/',$str,$matches)) {
    echo $matches[1];
}

仅当您要查找的数字部分始终为数字形式时,此方法才有效. @ Richard86给出了一个更通用的解决方案,包含任意数量和任意数量的破折号,作为您问题的另一个答案.

编辑:

为了避免破折号周围没有数字的情况,正如@ Richard86在评论中所说,常规表达应该如下所示:

if (preg_match('/Our Stk #: (d+-d+)/',$matches)) {

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读