[英]Regex to match URL within long string
我在這里有一個字符串:
美好的一天,我想以$ 1000(例如,刪除這些括號)$ test $ asdf [並刪除這些括號]在此處查詢3D產品名稱的價格。 目前,我們在這里還有另一個產品名稱,我相信它的准確性約為0.0005 199200。http ://www.example.com這是一個測試
我在這里鏈接了一個正則表達式: https : //regex101.com/r/yE4kW6/7
里面有這個正則表達式:
[^\w\s|https?:\/\/.\-*\s]|\W*\b\d+(?:\.\d+)?\b
我現在要嘗試的是使其與整個URL匹配。 看來我的|https?:\\/\\/.\\-*\\s
正在找到該url,但它卻忽略了它,可能是因為該集開頭的^
是? 我可以使用一些幫助來匹配字符串中的URL。
除了我的評論,您還可以提出如下正則表達式:
~(https?://\S+)~
# start / end with the tilde ~ as delimiters
# look for http/https, followed by ://
# match anything that is not a whitespace
# capture everything into a group
對於JavaScript,這可以歸結為(注意轉義的正斜杠):
(https?:\/\/\S+)
這不是很具體,並且很大程度上取決於您的輸入字符串(也可以匹配URL的無效字符)。 在此處查看regex101上的演示 。
您可以嘗試此正則表達式:
https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)
您可以使用以下正則表達式
((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[.\!\/\\w]*))?)
我已經用你的琴弦測試過了。 在https://regex101.com/r/yE4kW6/8進行測試
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.