unter Mac OS X (BSD find): Wie die akzeptierte Antwort wird das .*/-Präfix benötigt, um einen vollständigen Pfad abzugleichen: Der -regex find-Ausdruck entspricht dem gesamten Namen, einschließlich des relativen Pfads aus dem aktuellen Verzeichnis. Für finden . dies beginnt immer mit ./, dann alle Verzeichnisse. Wie Sie sehen können, hat die Ausgabe Instanzen von akzeptieren und außer und Variationen der beiden Wörter. Das Muster hätte auch z2cept entsprochen, wenn das auch gefunden worden wäre. In ähnlicher Weise verwenden Sie den Anker am Ende eines Musters, um anzugeben, dass die Übereinstimmung nur gültig ist, wenn sie ganz am Ende einer Zeile auftritt. Um jede Zeile in der GPL-3-Datei zu finden, die eine öffnende und schließende Klammer enthält, mit nur Buchstaben und einzelnen Leerzeichen dazwischen, verwenden Sie den folgenden Ausdruck: Um beispielsweise eine Zeile zu finden, die mit einem Großbuchstaben beginnt und mit einem Punkt endet, verwenden Sie den folgenden Ausdruck, der dem Endpunkt entgeht, sodass er eine literale Periode anstelle der üblichen “jedes Zeichen” darstellt, was bedeutet: Es sucht eine Zeichenfolge nach einem angegebenen Muster und gibt den gefundenen Text als Objekt zurück. Wie Sie gesehen haben, können die Anwendungsfelder von regex vielfältig sein, und ich bin sicher, dass Sie mindestens eine dieser Aufgaben unter denen in Ihrer Entwicklerkarriere erkannt haben, hier eine kurze Liste: Auf einigen Systemen wird das Von Ihnen gesuchte Muster in der Ausgabe hervorgehoben. In der Einleitung haben Sie gelernt, dass grep für “global regular expression print” steht. Ein “regulärer Ausdruck” ist eine Textzeichenfolge, die ein bestimmtes Suchmuster beschreibt. (Beachten Sie, dass alles, was hier gesagt wird, für GNU find ist, ich weiß nichts über den BSD, der auch der Standard auf Mac ist.) Dieses Tutorial ist ziemlich einzigartig, weil es nicht nur die Regex-Syntax erklärt, sondern auch detailliert beschreibt, wie die Regex-Engine tatsächlich ihre Arbeit macht.

Sie werden eine Menge lernen, auch wenn Sie schon seit einiger Zeit reguläre Ausdrücke verwenden. Dies wird Ihnen helfen, schnell zu verstehen, warum ein bestimmter Regex nicht das tut, was Sie ursprünglich erwartet haben, und Ihnen viel Rätselraten und Kopfkratzen beim Schreiben komplexerer Regexe erspart. Es ist hilfreich, sich diese als Übereinstimmung mit einer Zeichenfolge und nicht als Übereinstimmung mit einem Wort zu betrachten. Dies wird eine wichtigere Unterscheidung, wenn Sie komplexere Muster lernen. Wenn der regexp-Parameter eine Zeichenfolge oder eine Zahl ist, wird er implizit in einen RegExp konvertiert, indem der neue RegExp(regexp) verwendet wird. Wir lernen, wie man einen Regex konstruiert, vergessen aber ein grundlegendes Konzept: Flaggen. Sie sollten den absoluten Verzeichnispfad verwenden, wenn Sie die find-Anweisung mit dem regulären Ausdruck anwenden. In Ihrem Beispiel, der Hinweis, dass in der zweiten Zeile zurückgegeben, gibt es in der Tat, den Wortcode. Dies ist kein Fehler des regulären Ausdrucks oder grep. Vielmehr wurde diese Zeile zurückgegeben, da früher in der Zeile der Mustermodus, der im Wortmodell gefunden wurde, gefunden wurde. Die Zeile wurde zurückgegeben, da eine Instanz vorhanden war, die dem Muster entsprach. Im folgenden Beispiel wird match() verwendet, um “Kapitel” gefolgt von 1 oder mehr numerischen Zeichen gefolgt von einem Dezimaltrennzeichen und einem numerischen Zeichen 0 oder mehr Mal zu finden.

In den meisten Linux-Systemen können einige Disziplinen im regulären Ausdruck von diesem System nicht erkannt werden, daher müssen Sie explizit darauf hinweisen , wie die ersetzungsmethode eine geänderte Zeichenfolge zurückgibt, bei der das Muster ersetzt wird. Standardmäßig sucht grep nach dem genau angegebenen Muster in der Eingabedatei und gibt die gefundenen Zeilen zurück.

Copyright 2017 © Bright Host IT Institute.All right reserved.
Created by Bright Domain BD