ホームページ  >  記事  >  バックエンド開発  >  レギュラーマッチ

レギュラーマッチ

WBOY
WBOYオリジナル
2016-06-13 13:48:58867ブラウズ

通常の一致

PHP コード
<!--

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 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] => 
        )

)



Now if $s = ' D ETC56-542NA1210756542N31036 3ZA0C0154'、この正規表現 preg_match_all('/([a-zA-Z0-9]w{1})([w|-]{10})wd(d{4})|w {5} w{5}/') は間違っています。 「E3ETC56-542NA1220156542N31036 3ZA0C0331」と「D ETC56-542NA1210756542N31036 3ZA0C0154」の両方を満たす式を見つけます。

-----解決策---------
$s = 'E3ETC56-542NA1220156542N31036 3ZA0C0331';
preg_match_all('/([a-zA-Z0-9][ws]{1})([w|-]{10})wd(d{4} )|w{5} w{5}/', $s, $r);
print_r($r);
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。