Ich habe einen Feed in Yahoo Pipes und möchte nach einem Fragezeichen alles abgleichen.
Bisher habe ich herausgefunden, wie man das Fragezeichen mit ..
\?
Nun nur um alles zusammenzubringen, was nach / nach dem Fragezeichen steht.
"\\?"
Ich habe einen Feed in Yahoo Pipes und möchte nach einem Fragezeichen alles abgleichen.
Bisher habe ich herausgefunden, wie man das Fragezeichen mit ..
\?
Nun nur um alles zusammenzubringen, was nach / nach dem Fragezeichen steht.
"\\?"
Antworten:
\?(.*)
Sie möchten den Inhalt der ersten Erfassungsgruppe.
Feb 5 '11 at 10:41
. Es ist immer noch gut, auf jede Veränderung hinzuweisen, die wir bekommen. Vielleicht lernt jemand von Dreamonic, der darauf hinweist.
Versuche dies:
\?(.*)
Die Klammern sind eine Erfassungsgruppe, mit der Sie den Teil der Zeichenfolge extrahieren können, an dem Sie interessiert sind.
Wenn die Zeichenfolge neue Zeilen enthalten kann, müssen Sie möglicherweise den Modifikator "Punkt alle" verwenden, damit der Punkt mit dem neuen Zeilenzeichen übereinstimmt. Ob und wie Sie dies tun müssen oder nicht, hängt von der verwendeten Sprache ab. Anscheinend haben Sie vergessen, die Programmiersprache zu erwähnen, die Sie in Ihrer Frage verwenden.
Eine andere Alternative, die Sie verwenden können, wenn Ihre Sprache Lookbehind-Behauptungen mit fester Breite unterstützt, ist:
(?<=\?).*
Mit der positiven Lookbehind- Technik:
(?<=\?).*
(Wir suchen hier nach einem Text, dem ein Fragezeichen vorangestellt ist.)
Input: derpderp?mystring blahbeh
Output: mystring blahbeh
Grundsätzlich ?<=
handelt es sich um ein Gruppenkonstrukt, für das das maskierte Fragezeichen erforderlich ist , bevor eine Übereinstimmung hergestellt werden kann.
Sie arbeiten sehr gut, aber nicht alle Implementierungen unterstützen sie.
\?(.*)$
Wenn Sie alle Zeichen nach "?" Sie können eine Gruppe verwenden, um mit jedem Zeichen übereinzustimmen, und Sie sollten das "$" -Zeichen verwenden, um das Zeilenende anzugeben.
.
stimmt das standardmäßig nicht mit dem neuen Zeilenzeichen überein. Infolgedessen würde es auch ohne das Zeilenendezeichen im Ausdruck bis zum Zeilenende übereinstimmen.
Schauen Sie sich diese Site an: http://rubular.com/ Grundsätzlich können Sie auf der Site einen Beispieltext eingeben (wonach Sie auf Ihrer Site suchen würden). Wenn Sie dann den regulären Ausdruck erstellen, wird hervorgehoben, was übereinstimmt Echtzeit.
/([a-zA-Z]{4}):/
wird passen Test: Welcome
und greifenTest
str.replace(/^.+?\"|^.|\".+/, '');
Dies ist manchmal schlecht zu verwenden, wenn Sie auswählen möchten, was zwischen "" entfernt werden soll, und Sie es nicht mehr als zweimal in einer Zeichenfolge verwenden können. Alles, was es tut, ist auszuwählen, was nicht zwischen "" liegt, und es durch nichts zu ersetzen.
Selbst für mich ist es ein bisschen verwirrend, aber ich versuche es nicht zu erklären. ^.+?
(nichts OPTIONALES) bis zuerst "
dann |
oder / stop (immer noch recherchierend, was es wirklich bedeutet) bis / at ^.
bis vor der 2. "
Verwendung ( |
stop / at) nichts ausgewählt hat . Und wählen Sie alles aus, was danach kommt. +.
\?.*
stimmt mit allem überein (einschließlich einer leeren Zeichenfolge)?
.