Arbeit fand ich diese Regex auf regexlib:Regex für URL nicht
\b([\d\w\.\/\+\-\?\:]*)((ht|f)tp(s|)\:\/\/|[\d\d\d|\d\d]\.[\d\d\d|\d\d]\.|www\.|\.tv|\.ac|\.com|\.edu|\.gov|\.int|\.mil|\.net|\.org|\.biz|\.info|\.name|\.pro|\.museum|\.co)([\d\w\.\/\%\+\-\=\&\?\:\\\"\'\,\|\~\;]*)\b
Es funktioniert gut, es sei denn, meine URL mit Symbolen endet.
Test-string:
http://localhost/MySite/Default.aspx?dl=TzV+1tS9W13zQX0NBLpQWS3gzszG5g59814C2PCXb0RqECKPsJ0n087YRaQ4w9iFIM86q8jBfQL3KoOkh79yUjSAV1XtJC4oL9sxeTmegFfD+TvbT/AZgCHpBgk1qOILqrILnpVKe/JWq0QISestnbOT/bq1KrTmHIlZVYuYC0jX2aCLYw2pOYV04Di43mMZNFwhL97m30XEBF2zFXTqyR8JYN0mOEdB4bpdN7SmTvwOzk6GE1paaKnGA0SEJA6+cm9azUrpl5/HIBmMt9I0CgRr+AlWZRlsZU1c+6ZUrX0rWWjUeeN5JHlNcHk0TGuMiuyEt5hmfAPXpxATe0fDXw==
Die Regex wird die URL bis zu den letzten 2 Gleichheitszeichen fangen, die erhalten werden nicht berücksichtigt.
Ich habe ein paar andere Regex-Muster vergeblich versucht. Und ich versuche jetzt seit ungefähr einer Stunde mit diesem einen Affen zu spielen, ohne Glück. Ich kenne Regex einfach nicht gut genug!
Vorschläge?
Wie kann das Muster so geändert werden, dass ein beliebiges Symbol (und nicht nur ein Gleichheitszeichen) am Ende der URL enthalten ist? – GoDogGo
Ich denke, ich habe es basierend auf Ihrer Antwort @gaganshera. Gibt es einen effizienteren Weg als unten? '\ b ([\ d \ w \. \/\ + \ - \? \:] *) ((ht | f) tp (s |) \: \/\/| [\ d \ d \ d | \ d \ d] \. [\ d \ d \ d | \ d \ d] \. | www \. | \ .tv | \ .ac | \ .com | \ .edu | \ .gov | \ .int | \ .mil | \ .net | \ .org | \ .biz | \ .info | \ .name | \ .pro | \ .museum | \ .co) ([\ d \ w \. \/\% \ + \ - \ = \ & \? \: \\\ " \ '\, \ | \ ~ \;] *) \ b ([=, @, +,!,%, &, *, -]) * ' – GoDogGo
Sie sollten keine Kommas als Trennzeichen für Regex hinzufügen. Außerdem sollten Sie Zeichen wie * usw. flüchten. Gehen Sie so vor: '\ b ([\ d \ w \. \/\ + \ - \? \:] *) ((Ht | f) tp (s |) \ : \/\/| [\ d \ d \ d | \ d \ d] \. [\ d \ d \ d | \ d \ d] \. | www \. | \ .tv | \ .ac | \ .com | \ .edu | \ .gov | \ .de | \ .mil | \ .net | \ .org | \ .biz | \ .info | \ .name | \ .pro | \ .museum | \ .co) ([\ d \ w \. \/\% \ + \ - \ = \ & \? \: \\\ " \ '\, \ | \ ~ \;] *) \ b ([= @ +! % & \ *, -]) * ' – gaganshera