Versionen dieses Beitrags

Nach Deinen Ergänzungern verbesserte Lösung

ursus contionabundo
  • Nach Deinen Ergänzungern verbesserte Lösung
  • > denn z.b hier müßte der String At vero eos et auch die Zahl 10 enthalten, weil sie zum String gehört.
  • Das macht es sogar einfacher:
  • ~~~php
  • <?php
  • $pattern = '/^.*AB[A-Z0-9][0-9]+ (.*) ([0-9]+) (.*) ([0-9.,]*)$/';
  • $rows = file('/tmp/data.txt');
  • $rows = file( '/tmp/data.txt' );
  • foreach ( $rows as $row ) {
  • $row = trim( $row );
  • preg_match( $pattern, $row, $arr );
  • if ( $arr ) {
  • print_r( $arr );
  • } else {
  • echo "Nicht passend: $row" . PHP_EOL;
  • }
  • }
  • ~~~

Nach Deinen Ergänzungern verbesserte Lösung

ursus contionabundo
  • Nach Deinen Ergänzungern verbesserte Lösung
  • > denn z.b hier müßte der String At vero eos et auch die Zahl 10 enthalten, weil sie zum String gehört.
  • Das macht es sogar einfacher:
  • ~~~php
  • <?php
  • $pattern = '^.*AB[A-Z0-9][0-9]+ (.*) ([0-9]+) (.*) ([0-9.,]*)$';
  • $pattern = '/' . str_replace( '/', '\\/', $pattern ) . '/';
  • $pattern = '/^.*AB[A-Z0-9][0-9]+ (.*) ([0-9]+) (.*) ([0-9.,]*)$/';
  • $rows = file('/tmp/data.txt');
  • foreach ( $rows as $row ) {
  • $row = trim( $row );
  • preg_match( $pattern, $row, $arr );
  • if ( $arr ) {
  • print_r( $arr );
  • } else {
  • echo "Nicht passend: $row" . PHP_EOL;
  • }
  • }
  • ~~~