2017-06-20 6 views
0

Ich habe eine Regex, die alle Websites übereinstimmt, aber ich möchte 2 spezifische Websites von diesem Regex ausschließen?Regex zum Ausschließen bestimmter Websites in Javascript?

Regex ist

[[email protected]:%._\+~#=]{2,256}\.[a-z]{2,6}\b([[email protected]:%_\+.~#?&//=]*) 

Websites ich ausschließen möchten sind

www.gfycat.com 
www.imgur.com 
imgur.com/* 
gfycat.com/* 

Ist es möglich, die Regex zu schreiben, die die spezifischen Websites exludes? Irgendwelche Vorschläge, wie man dieses Problem löst?

/[[email protected]:%._\+~#=]{2,256}\.[a-z]{2,6}\b([[email protected]:%_\+.~#?&//=]*)/ 

Ich habe den Screenshot für Matchmuster beigefügt.

Hier müssen RES und Regex implementiert werden enter image description here

+0

Was sind Sie am Ende zu erreichen versuchen? Ersetzen Sie den Text durch einen anderen Text? Oder sammelst du nur Streichhölzer? Die Technik wird die gleiche sein: passen Sie an, was Sie nicht brauchen, und passen Sie dann an und erfassen Sie, was Sie brauchen. Siehe [diese Regex-Demo] (https://regex101.com/r/7F3wQU/1). Der erfasste Text ist das, was Sie zulassen müssen, sonst nicht. Hast du Zugriff auf den Code? –

+0

Wie benutzt du diesen Regex? Suchst du nach URLs oder validierst du sie? Kann ich einen Ankeranfangstring '^' in der Regex verwenden? –

+0

Ich benutze es in Reddit, um Beiträge herauszufiltern und alle anderen Beiträge außer 'gfycat.com und imgur.com' zu verbergen, indem ich die regex.Wenn ich die oben erwähnte Regex' alle Beiträge' verwende, sind ausgeblendet. –

Antwort

1

Versuche this

^(?:(?!(?:www\.)?(?:google|gfycat|imgur))[[email protected]:%._\+~#=]{2,256})\.[a-z]{2,6}\b([[email protected]:%_\+.~#?&//=]*) 
+0

'www.gfycat.com/ABC' Fails –

+0

@ BackdoorCipher Einige Rechtschreibfehler in Muster. Jetzt können Sie überprüfen. – mkHun

0

Nicht sicher, warum Sie Regex brauchen, um das Gleiche zu tun. Kannst du etwas Einfaches wie das Folgende nicht machen, es sei denn, ich habe es völlig falsch verstanden.

url = new URL('https://www.google.co.uk/?gfe_rd=cr&ei=bN5IWaP7CYyDtAHKv4CIBg#q=hello'); 

if url.hostname == 'www.google.com' 
// ignore 
else 
// process 

Die Antwort ist auf die spezifische Frage, wie OP nicht relevant ist, mit einem anderen Werkzeug

+0

Ich habe eine Erweiterung die Filtermodul haben und ich werde den Screenshot hier anhängen. –

Verwandte Themen