Tag: regex

Regex und Unicode

Ich habe ein Skript, das die Dateinamen von TV-Episoden (show.name.s01e02.avi zum Beispiel) analysiert, packt den Episodennamen (von der www.thetvdb.com API) und benennt sie automatisch in etwas Schöner (Show Name – [01×02 ] .avi) Das Skript funktioniert gut, das ist, bis du es versuchst, es auf Dateien zu verwenden, die Unicode-Show-Namen haben (was ich nie wirklich […]

Finde die Indizes aller Regex-Spiele in Python?

Ich analysiere Strings, die eine beliebige Anzahl von zitierten Strings in ihnen haben könnte (ich analysiere Code und versuche PLY zu vermeiden). Ich möchte herausfinden, ob ein Teilstring zitiert wird, und ich habe die Substrings index. Mein erster Gedanke war, um zu verwenden, um alle Spiele zu finden und dann herauszufinden, die Reihe von Indizes, […]

Perl kompatibler regulärer Ausdruck (PCRE) in Python

Ich habe einige Strings auf PCRE in Python zu analysieren und ich habe keine Ahnung, wie das zu tun. Strings, die ich analysieren möchte, sieht aus wie: match mysql m/^.\0\0\0\n(4\.[-.\w]+)\0…\0/sp/MySQL/ i/$1/ In diesem Beispiel muss ich diese verschiedenen Gegenstände bekommen: "m/^.\0\0\0\n(4\.[-.\w]+)\0…\0/s" ; "p/MySQL/" ; "i/$1/" Das einzige, was ich in Bezug auf PCRE Manipulation in […]

C ++ 11 regex langsamer als python

Hallo, ich möchte gern verstehen, warum der folgende Code, der einen Split-String mit Regex aufspaltet #include<regex> #include<vector> #include<string> std::vector<std::string> split(const std::string &s){ static const std::regex rsplit(" +"); auto rit = std::sregex_token_iterator(s.begin(), s.end(), rsplit, -1); auto rend = std::sregex_token_iterator(); auto res = std::vector<std::string>(rit, rend); return res; } int main(){ for(auto i=0; i< 10000; ++i) split("abc", " […]

Erstellen eines benutzerdefinierten kategorisierten Korpus in NLTK und Python

Ich erlebe ein bisschen ein Problem, das mit regulären Ausdrücken und CategorizedPlaintextCorpusReader in Python zu tun hat. Ich möchte ein benutzerdefiniertes kategorisiertes Korpus erstellen und einen Naive-Bayes-Klassifikator darauf ausbilden. Mein Problem ist das folgende: Ich möchte zwei Kategorien haben, "pos" und "neg". Die positiven Dateien sind alle in einem Verzeichnis, main_dir/pos/*.txt und die negativen sind […]

Verwenden von BeautifulSoup, um ein HTML-Tag zu finden, das bestimmten Text enthält

Ich versuche, die Elemente in einem HTML-Dokument zu erhalten, die das folgende Textmuster enthalten: # \ S {11} <h2> this is cool #12345678901 </h2> So würde das vorherige mit: soup('h2',text=re.compile(r' #\S{11}')) Und die Ergebnisse würden so etwas wie: [u'blahblah #223409823523', u'thisisinteresting #293845023984'] Ich bin in der Lage, den ganzen Text zu bekommen, der zusammenkommt (siehe […]

Wie kann ich alle Platzhalter für str.format in einer Python-String mit einem Regex finden?

Ich schaffe eine Klasse, die eine Datei mit einem benutzerdefinierten Format umbenennt. Dieses Format wird eine einfache Zeichenfolge sein, deren str.format Methode aufgerufen wird, um die Leerzeichen auszufüllen. Es stellt sich heraus, dass meine Prozedur das Extrahieren von Variablennamen in Klammern erfordert. Beispielsweise kann ein String {user} , der user . Natürlich gibt es mehrere […]

Wie kann ich mehrere Substitutionen mit Regex in Python machen?

Ich kann diesen Code unten verwenden, um eine neue Datei mit der Substitution von a mit aa mit regulären Ausdrücken zu erstellen. import re with open("notes.txt") as text: new_text = re.sub("a", "aa", text.read()) with open("notes2.txt", "w") as result: result.write(new_text) Ich habe mich gefragt, ich muss diese Zeile verwenden, new_text = re.sub("a", "aa", text.read()) , mehrere […]

Regex-Matching zwischen zwei Strings?

Ich kann nicht scheinen, einen Weg zu finden, um alle Kommentare wie im folgenden Beispiel zu extrahieren. >>> import re >>> string = ''' … <!– one … –> … <!– two — — –> … <!– three –> … ''' >>> m = re.findall ( '<!–([^\(–>)]+)–>', string, re.MULTILINE) >>> m [' one \n', ' […]

Aufteilung der Ausgabe von ps mit Python

Unter Linux gibt der Befehl ps aux eine Liste von Prozessen mit mehreren Spalten für jeden stat aus. z.B USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND … postfix 22611 0.0 0.2 54136 2544 ? S 15:26 0:00 pickup -l -t fifo -u apache 22920 0.0 1.5 198340 16588 ? S 09:58 […]

Python ist die beste Programmiersprache der Welt.