如何在我的案例中使用preg_match?

时间:2017-05-30 07:25:28

标签: php html

我的输出带有一个命令:

can0 11001600 [2] 5C A7 can0 02001600 [2] 00 00 can0 07001600 [2] 00 00 

并非每次都以相同的顺序,它可以是:

preg_match("11001600 [2] [A-Z0-9]",$output);

“5C A7”。
我这样做:

{{1}}

但它给了我0所以它意味着它没有找到。我该怎么办?

2 个答案:

答案 0 :(得分:1)

你快到了。
[是一个正则表达式字符,需要进行转义才能在正则表达式中用作字符串。

https://regex101.com/r/Dm12mr/2

/11001600 \[2\] ([A-Z0-9]{2} [A-Z0-9]{2})/有效

编辑:忘记()

答案 1 :(得分:1)

Try this code snippet here

正则表达式: 11001600 \[2\]\s+\K[A-Z0-9]{2}\s+[A-Z0-9]{2}

  

1。 11001600 \[2\]\s+\K这将匹配11001600 [2] \K将重置当前匹配。

     

2。 [A-Z0-9]{2}\s+[A-Z0-9]{2}这将匹配A-Z0-9{2}两次。

<?php

ini_set('display_errors', 1);
$string="can0 11001600 [2] 5C A7 can0 02001600 [2] 00 00 can0 07001600 [2] 00 00 ";

preg_match("/11001600 \[2\]\s+\K[A-Z0-9]{2}\s+[A-Z0-9]{2}/",$string,$matches);
print_r($matches[0]);

输出: 5C A7