PHP zu Python - Hilfe
Hallo zusammen,
Ich möchte von PHP zu Python wechseln und habe dort ein kleines Problem.
In PHP habe ich folgenden funktionierenden Code:
In Python sieht es momentan so aus:
In PHP werden die Suchbegriffe gefunden und gibt auch die gewünschten Zahlen aus.
In Python findet er nichts (Ausgabe: "No match" (Der Einfachkeitshalber)).
Woran liegt das? Kann mir da jemand helfen?
Ich möchte von PHP zu Python wechseln und habe dort ein kleines Problem.
In PHP habe ich folgenden funktionierenden Code:
<?php
$text = 'Maße : 1 Beleg-Nr. : 2';
$match1 = "";
$match2 = "";
if (preg_match("/Ma\S+?e(?:\s[\s:._]*)(.*?)\ Beleg\S+[.:\-\t\ ]+(.*)/i", $text, $treffer)) {
$match1 = trim($treffer[1]);
$match2 = trim($treffer[2]);
}
echo "Treffer 1: " . $match1 . "\n";
echo "Treffer 2: " . $match2 . "\n";
In Python sieht es momentan so aus:
import re
p = re.compile( "/Ma\\S+?e(?:\\s[\\s:._]*)(.*?)\\ Beleg\\S+[.:\\-\\t\\ ]+(.*)/i" );
m = p.search( "Masse : 1 Beleg-Nr. : 2");
if m:
print ("Match found");
else:
print ("No match");
In PHP werden die Suchbegriffe gefunden und gibt auch die gewünschten Zahlen aus.
In Python findet er nichts (Ausgabe: "No match" (Der Einfachkeitshalber)).
Woran liegt das? Kann mir da jemand helfen?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 307053
Url: https://administrator.de/contentid/307053
Ausgedruckt am: 14.11.2024 um 01:11 Uhr
4 Kommentare
Neuester Kommentar
Hallo tingel:
das sind einfach Regular Expression Submatches, die im Regex geklammerten Subgroups kannst du z.B. so ansprechen:
https://docs.python.org/2.7/library/re.html#match-objects
Grüße Uwe
das sind einfach Regular Expression Submatches, die im Regex geklammerten Subgroups kannst du z.B. so ansprechen:
#!/usr/bin/python
import re
match = re.match('(?i)Ma\S+?e(?:\s[\s:._]*)(.*?) Beleg\S+[.:\-\t\ ]+(.*)','Masse : 1 Beleg-Nr. : 2')
if match:
submatch1 = match.group(1)
submatch2 = match.group(2)
print submatch1
print submatch2
else:
print "Kein Treffer"
Grüße Uwe