求一正则

littlebirds 2015-05-08 12:14:33
preg_match_all('/([\w.]+)-\d{3}\w\d/',$types,$new_type);
print_r($new_type);

得到的结果中含有TSXXX-XXXXX的结果,如果 - 前段不含TS字段,怎么求?
...全文
108 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
littlebirds 2015-05-08
  • 打赏
  • 举报
回复
数据格式: MEC752-010B1 MEC752-020B1 MEC753-010C1 MEC91-100E1 MEC91-100F1 MEC91-100H2 TS402-20120514 FI03-002A1 FI03-022A1 yoh 求除了TS402-20120514,yoh之外的结果。
littlebirds 2015-05-08
  • 打赏
  • 举报
回复
引用 2 楼 xuzuning 的回复:
请问这样的形式怎么抓? ./dat/TS404/BEM212-500A1/4403 preg_match_all('/d\w\d+/',$s,$m);取不到4403这个值。
果酱很好吃 2015-05-08
  • 打赏
  • 举报
回复
感觉我这个匹配有点问题,但匹配到的数据是对的.....

preg_match_all('/(?!TS|yoh)(.+-\w{5})\s/',$str,$m);
Array
(
    [0] => MEC752-010B1
    [1] => MEC752-020B1
    [2] => MEC753-010C1
    [3] => MEC91-100E1
    [4] => MEC91-100F1
    [5] => MEC91-100H2
    [6] => FI03-002A1
    [7] => FI03-022A1
)
xuzuning 2015-05-08
  • 打赏
  • 举报
回复
$s =<<< TXT
MEC752-010B1
MEC752-020B1
MEC753-010C1
MEC91-100E1
MEC91-100F1
MEC91-100H2
TS402-20120514
FI03-002A1
FI03-022A1
yoh
TXT;
preg_match_all('/^[^T][^S]\w+-\w+/m', $s, $m);
print_r($m[0]);
Array
(
    [0] => MEC752-010B1
    [1] => MEC752-020B1
    [2] => MEC753-010C1
    [3] => MEC91-100E1
    [4] => MEC91-100F1
    [5] => MEC91-100H2
    [6] => FI03-002A1
    [7] => FI03-022A1
)

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧