• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

一个很简单的匹配有关问题

php 搞代码 4年前 (2022-01-23) 21次浏览 已收录 0个评论

一个很简单的匹配问题
————-文本—————

Name1 A B C
Name2 A B C
Name3 A B C

————-文本—————

A、B、C是3个随机数字,有时某个数字会为空(本文@来#源gaodai$ma#com搞$$代**码网搞代gaodaima码即变为 Name1 A C),请问如何才能在任何情况下取到ABC三个位置的值呢?
谢谢!

——解决方案——————–

PHP code

$s = <<< TXTName1 A B CName2 A CName3 A B CTXT;preg_match_all('/([ABC]+)\s+([ABC]*)\s+([ABC]*)\s*$/m', $s, $r);print_r($r);
------解决方案--------------------
嘿嘿...

a.php
-------------文本---------------

Name1 11 23 14
Name2 43 33
Name3 30 44 2

-------------文本---------------
b.php

<?php
$file = "a.php"; // 变量赋值
$fp = fopen ( $file, "r" ); // 以只读方式打开文件
$i = 0; // i=0
while ( ! feof ( $fp ) ) { // while循环,条件:没到文件的末端。
$buffer = fgets ( $fp, 4096 ); // fgets() 函数用于从文件中逐行读取文件,,读取的字节数。默认是 1024 字节。
preg_replace ( '/ +/', ' ', $buffer );
preg_match_all ( '/ ([0-9]+)/', $buffer, $matches );
if (! empty ( $matches [1] )) {
print_r ( $matches [1] );
}
$i = $i + 1; // 通过while循环,带动i值递增,实现数组构建。
}
fclose ( $fp ); // 关闭文件。
?>
------解决方案--------------------
其实还有我觉得还有一个比较大的疑问!因为LZ要的是数字和字母,比如:
文本:
Name1:11 32
我最后取出来的是

PHP code

Array( [0]=11 [1]= [2]=32) 


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:一个很简单的匹配有关问题

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址