首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP不能正常工作

PHP不能正常工作
EN

Stack Overflow用户
提问于 2014-12-31 15:39:08
回答 2查看 53关注 0票数 1

我有一个变量可以接收这两个值:

'01838723001603 Telo155‘ou '01838723009850 0608’。

我想得到在14个字符之后的第二个值。为此,我尝试使用以下正则表达式,但它不起作用:

代码语言:javascript
复制
/[0-9]{14} (.*?)/i

代码语言:javascript
复制
preg_match_all('/[0-9]{14} (.*?)/i', $data, $result);
var_dump($result);

结果-> 0 => '01838723026436',1 => '01838723026436'.

她只是取了第一个值(01838723001603)。

我希望她返回值:‘Telo155’/ '0608'

(这必须使用正则表达式,因为这些数据是从文本文件中捕获的)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-12-31 15:46:13

你可以试着把后面的

代码语言:javascript
复制
/?<=\d{14}\s)[^']+/

Regex Demo

代码语言:javascript
复制
preg_match_all("/(?<=\\d{14}\\s)[^']+/", "01838723001603 TELO 155' ou '01838723009850 0608'.", $matches);

将作为输出

代码语言:javascript
复制
Array ( [0] => Array 
                 ( [0] => TELO 155 
                   [1] => 0608 ) 
      ) 
票数 0
EN

Stack Overflow用户

发布于 2014-12-31 15:42:52

这应该适用于你:

代码语言:javascript
复制
<?php

    $data = "01838723009850 0608";  //01838723001603 TELO 155
    preg_match_all('/\d{14}\s?(.*?)$/', $data, $result);
    echo $result[1][0];

?>

输出:

代码语言:javascript
复制
0608  //TELO 155
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27723196

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档