ホームページ >バックエンド開発 >PHPチュートリアル >非常に簡単なマッチング質問

非常に簡単なマッチング質問

WBOY
WBOYオリジナル
2016-06-13 13:52:01804ブラウズ

非常に単純なマッチング問題
-------------テキスト--------------

Name1 A B C
Name2 A B C
名前3 A B C

-------------本文--------------


A, B 、C は 3 つの乱数です。場合によっては、特定の数値が空になることがあります (つまり、Name1 A C になります)。どのような状況でも ABC の 3 つの位置の値を取得するにはどうすればよいでしょうか。
ありがとうございます!

-----解決策---------

PHP コード
$s = <<<
名前1 A B C
名前2 A C
名前3 A B C
TXT;
preg_match_all('/([ABC]+)s+([ABC]*)s+([ABC]*)s*$/m', $s, $r);
print_r($r);
<br><font color="#e78608">------解決策------------------</font><br>
へへ...<br><br>a.php<br>-------------本文--------------<br><br>名前1 11 23 14<br>名前2 43 33<br>名前3 30 44 2<br><br>-------------本文------------ - --<br>b.php<br><br><?php<br>$file = "a.php"; // 変数の割り当て<br>$fp = fopen ( $file, "r" ) ; // ファイルを読み取り専用モードで開きます <br>$i = 0 // i=0<br>while ( ! feof ( $fp ) ) { // while ループ、条件: ファイルの終わりではありません。に達しました。 <br> $buffer = fgets ( $fp, 4096 ); // fgets() 関数は、ファイルから 1 行ずつ、読み取られたバイト数を読み取るために使用されます。デフォルトは 1024 バイトです。 <br> preg_replace ( '/ +/', ' ', $buffer );<br> preg_match_all ( '/ ([0-9]+)/', $buffer, $matches );<br> if (! empty ( $matches [1] )) {<br> print_r ( $matches [1] );<br> }<br> $i = $i + 1; // while ループを通じて、i の値が増加します。配列の構築。 <br>}<br>fclose ( $fp ); // ファイルを閉じます。 <br>?>
<br><font color="#e78608">------解決策---------</font><br>実は、もう一つ大きな質問があると思います。 LZ が必要とするのは数字と文字であるため、たとえば次のようになります。 <br> テキスト: <br>Name1:11 32<br> 最終的に取り出したのは <br>
PHP コード
 でした。

配列(
     [0]=11
     [1]=
     [2]=32
)<div class="clear"></div>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。