2017-07-03 3 views
2

Ich versuche, ein Plugin zu ändern, das ich für einen Twitch-Bot habe, der Clip-URLs herauszieht.JS Regex am Ende einer Zeile oder an einem leeren Platz stoppen

Die Clip-URL kann eigenständig sein oder mit Text beginnen oder enden.

Die Regex, die ich habe, scheint dazu zu führen, dass das Plugin nach der ersten Verwendung nicht mehr reagiert und es funktionierte, bevor ich die Regex änderte.

Der ursprüngliche Regex hat den gesamten String erfasst, nachdem die URL gestartet wurde. Ich habe folgendes gemacht, aber es scheint irgendwo einen Fehler zu verursachen.

  • Original-
    /(https:\/\/)?clips\.twitch\.tv\/(.*)/

  • Modified
    /(https:\/\/)?clips\.twitch\.tv\/([^\s]*)/

Test-String (s):

some text *ClipURL* more text | *ClipURL* some text | some text *ClipURL* | *ClipURL* 

Alle er Wenn Sie mir geben könnten, wäre das eine erstaunliche Hilfe.

+1

'[^ \ s] *' kann kurz und bündig erklärt mehr werden als '\ *' – Will

+0

s Wenn von "non-responsive nach dem ersten Gebrauch" Sie „bedeuten, passend nur die erste uRL in die Zeichenfolge ", müssen Sie den Modifikator" g "hinzufügen. Wenn Sie das nicht meinen, können Sie das bitte klären? –

+0

Daniel - Nein, ich erwarte nur eine URL in der Zeichenfolge. Aber das Plugin bleibt hängen, als würde es immer noch versuchen, etwas zu verarbeiten und erfasst keine weiteren Nachrichten mehr mit Clip-URLs. Es verursacht, dass ich den Bot erneut stoppen/starten muss, um das Plugin neu zu laden – LinkOps

Antwort

0

Funktioniert /(https://)?clips.twitch.tv/(\S*)/ nicht für Sie? Dies ist im Grunde der zweite.

es richtig passt:

  • hhhh clips.twitch.tv/someone dddd
  • clips.twitch.tv/someone dddd
  • hhh clips.twitch.tv/someone
  • Clips. twitch.tv/someone
+0

(\ S *) hat das Plugin tatsächlich beschädigt und konnte überhaupt nicht geladen werden. Ich habe die vollständige js-Datei auf den folgenden Pastebin https://pastebin.com/9z3bsGVx hochgeladen, falls es in der Datei einige zusätzliche Informationen gibt, die relevant sein könnten. http://prntscr.com/fr63hw ist ein Bildschirm greifen, wie es in Discord ab sofort injiziert. Ich möchte im Idealfall die "im noch Clipping" nicht von der Regex gefangen werden, so bleibt es mit dem "aber atleast" Text – LinkOps

+0

die js-Datei ist zu lang, aber Checkout https://regex101.com/r/eQzjQd/2. Es zieht Clipurls wie erwartet korrekt aus. –

Verwandte Themen