我这里有一个字符串:
美好的一天,我想1000美元(例如删除这些括号)$ test $ asdf [并删除这些括号]在这里查询3D产品名称的价格。目前我们在这里有另一个产品名称,我认为其准确度约为0.0005 199 200. http://www.example.com这是一个测试
我在这里链接了一个正则表达式:https://regex101.com/r/yE4kW6/7
其中有正则表达式:
[^\w\s|https?:\/\/.\-*\s]|\W*\b\d+(?:\.\d+)?\b
我现在要做的就是让它与整个网址相匹配。我的|https?:\/\/.\-*\s
似乎找到了网址,但它忽略了它,可能是因为^
在该集合的开头?我可以使用它来匹配字符串中的URL。
答案 0 :(得分:1)
除了我的评论之外,您还可以提出一个正则表达式:
~(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的无效字符)。 见a demo on regex101 here。
答案 1 :(得分:0)
答案 2 :(得分:0)
你可以试试这个Regex:
https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)
答案 3 :(得分:0)
您可以使用以下正则表达式
((([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
进行测试