【问题标题】:PHP - Find number in a stringPHP - 在字符串中查找数字
【发布时间】:2012-06-20 09:16:01
【问题描述】:

我想从这个字符串中得到 16

request id is 16 (group id 1) for host localhost

以及JID号10的状态信息(本例为Kill time expired

JID  Pri S  Owner Number       Pages Dials      Status
11   127 D   root 0xxxxxx     1:1   1:12         
16   116 F www-da 0xxxxxx     0:1  12:12         No carrier detected; too 
15   127 D   root 0xxxxxx     1:1   1:12         
10   127 F   root 0xxxxxx     0:0   0:12         Kill time expired
9    127 F   root 0xxxxxx     0:0   0:12         Job aborted by request
8    127 F   root 0xxxxxx     0:0   0:12         Job aborted by request

EDIT:我设法解决了第一个问题。答案是(\d+)。我需要第二次搜索的提示。

【问题讨论】:

  • What have you tried,你卡在哪里了?
  • @deceze 我尝试并在网上搜索了很多东西,但找不到从字符串中获取此类数字的方法。唯一最接近的是从字符串中删除所有数字。在这种情况下,有 2 个数字,我只需要第一个。
  • 那么对不起,你还不够努力。你甚至可以使用substr 拼凑一些东西。你研究过正则表达式吗?
  • @deceze 我唯一能猜到的就是找到第一个( 的位置以及从开始到该位置的条带编号。第二次搜索(JID 的状态)是最难的
  • 你考虑过正则表达式吗? gskinner.com/RegExr 是学习和测试的好地方

标签: php string search numbers


【解决方案1】:

对于第二个,您可以查找以“10”开头的行,然后是“something”,然后是 9 个连续的空格。在空格之后是您需要捕获的内容。正则表达式是^10.+\s{9}(.*)

【讨论】:

  • 谢谢!但是您忘记在 s 之前添加 `\`。寻找以数字开头的行是一种更好的方法。我正在为一些奇怪的方式而苦苦挣扎。
猜你喜欢
  • 1970-01-01
  • 2013-10-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-25
  • 1970-01-01
  • 1970-01-01
  • 2012-04-09
相关资源
最近更新 更多