正则匹配

WBOY
WBOY원래의
2016-06-13 13:48:58896검색

求一个正则匹配

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으로 문의하세요.