Ich möchte eine Regex erstellen, um URLs zu finden, die mit http: //, https: //, // beginnen, oder um URLs mit einer anderen Erweiterung als html, htm, php und php3 zu finden. URL-Abfragestrings sind optionalRegex zum Verteilen benutzerdefinierter URLs
Lasst uns sagen, dass ich will diese finden:
http://example.com
/example.mp3
/example.mp3?q=example
http://example.com/example.mp3
#example
Und diese ablehnen:
example
/example
/example/
/example.htm
/example.htm?q=example
/example.mp3/example //The .mp3 needs to be extension to be accepted
/example#example
ich dies bereits versucht /(^(http:\/\/|https:\/\/|\/\/|#)|(.*)((.*)\.^(?!html|htm|php|php3)$)(\?.*)?$)/igm
aber es hat nicht funktioniert.
Wenn das Gegenteil (das Umkehren der akzeptierten und abgelehnten Listen) leichter zu tun ist, auch das ist sehr geschätzt, kann ich die Funktion ändern, die die Regex behandelt.
Es ist nicht klar, warum Sie finden möchten '# Beispiel', aber nicht'/Beispiel # Beispiel' – Oriol
Ihr Beispiel und die Beschreibung der akzeptierten Parameter ist etwas anders. Möchtest du '/' oder '//' akzeptieren? – wizebin
@Oriol #Beispiel kann ein Anker zu einer ID in der gleichen Seite sein und/Beispiel # Beispiel kann ein Anker sein und ID in einer anderen Seite – Ioan