ホームページ >バックエンド開発 >PHPチュートリアル >非常に簡単なマッチング質問
非常に単純なマッチング問題
-------------テキスト--------------
Name1 A B C
Name2 A B C
名前3 A B C
-------------本文--------------
A, B 、C は 3 つの乱数です。場合によっては、特定の数値が空になることがあります (つまり、Name1 A C になります)。どのような状況でも ABC の 3 つの位置の値を取得するにはどうすればよいでしょうか。
ありがとうございます!
-----解決策---------
$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>
でした。 配列( [0]=11 [1]= [2]=32 )<div class="clear"></div>