首页 >后端开发 >php教程 > 正则匹配

正则匹配

WBOY
WBOY原创
2016-06-13 13:48:58892浏览

求一个正则匹配

PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
$s = 'E3ETC56-542NA1220156542N31036 3ZA0C0331';
preg_match_all('/([a-zA-Z0-9]\w{1})([\w|-]{10})\w\d(\d{4})|\w{5} \w{5}/', $s, $r);
print_r($r);


得到结果:
XML code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
Array
(
    [0] => Array
        (
            [0] => E3ETC56-542NA12201
            [1] => 31036 3ZA0C
        )

    [1] => Array
        (
            [0] => E3
            [1] => 
        )

    [2] => Array
        (
            [0] => ETC56-542N
            [1] => 
        )

    [3] => Array
        (
            [0] => 2201
            [1] => 
        )

)



现在如果$s = 'D ETC56-542NA1210756542N31036 3ZA0C0154',这个正则的表达式 preg_match_all('/([a-zA-Z0-9]\w{1})([\w|-]{10})\w\d(\d{4})|\w{5} \w{5}/')就不对了。求既能满足‘E3ETC56-542NA1220156542N31036 3ZA0C0331’,又能‘D ETC56-542NA1210756542N31036 3ZA0C0154’结果的表达式。

------解决方案--------------------
$s = 'E3ETC56-542NA1220156542N31036 3ZA0C0331';
preg_match_all('/([a-zA-Z0-9][\w\s]{1})([\w|-]{10})\w\d(\d{4})|\w{5} \w{5}/', $s, $r);
print_r($r);
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn