Was ist das grep-äquivalent in Python?
Sagen, ich habe eine text-Datei mit der Zeile "ich mag Elefanten".
Wenn ich Katze der besagten Datei und der pipe zu 'grep " Elefanten", bekomme ich die gesamte Zeile "ich mag Elefanten".
Wie kann ich erreichen, das die Funktionalität in Python mit re?
Ich habe versucht, die folgenden:
test = re.search('elephants', 'I like elephants.\nThey are nice')
test.group(0)
Bekomme ich nur das Wort 'Elefanten' und nicht den ganzen Satz wie die Ausgabe.
Wie bekomme ich den ganzen Satz?
Danke.
- Aufgeteilt in Zeilen und Holen diese Elemente, wo
elephants
istin
dieline
string. Siehe diese demo. - was genau wollen Sie tun?
- Mit regex, würden Sie brauchen, um mit allen chars auf eine Zeile
re.search('.*elephants.*', 'I like elephants.\nThey are nice')
. Dieses Vorgehen ist jedoch ineffizient. - Aaaah ich sehe. Vielen, vielen Dank!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnten Sie die
in
keyword check für Ihre substring:Oder, wenn Sie hatte einen string
s
mit\n
Zeichen:Ihre regex druckt nur
elephant
weil das, was es erfasst: genau dein regex-string. Wenn Sie versuchen, die folgenden regex statt:Dann hätten Sie die Ergebnisse für
test.group(0)
undtest.group(1)
denen auch die ganze Zeile vor und nach den Elefanten.Dass das ganze erfasst string.
Nur, dass die capture-Gruppe (string zwischen Klammern).