Regex-将所有内容复制到某个特定模式

Regex-将所有内容复制到某个特定模式,regex,Regex,是的,我知道标题类似于以前提出的许多问题,但在发布我的问题之前,我在网站上花了很多时间,这就是: 以下是字符串: http://youtu.be/-joKveiaabA <br> http://youtu.be/-joKveiaabA 这是我的正则表达式: var re = /(?:http?s?:\/\/)?(?:www\.)?(?:youtube\.com|youtu\.be)\/(?:watch\?v=)?(.+).*?(?=<br>|$)/g, var

是的,我知道标题类似于以前提出的许多问题,但在发布我的问题之前,我在网站上花了很多时间,这就是:

以下是字符串:

http://youtu.be/-joKveiaabA <br>
http://youtu.be/-joKveiaabA 
这是我的正则表达式:

 var re = /(?:http?s?:\/\/)?(?:www\.)?(?:youtube\.com|youtu\.be)\/(?:watch\?v=)?(.+).*?(?=<br>|$)/g,
var re=/(?:http?s?:\/\/)(?:www\)(?:youtube\.com | youtu\.be)\/(?:watch\?v=)(.+).*(?=
\$)/g,
它可以与一个
配合使用,但不希望与多个
配合使用。例如,它无法正确解析这样的行:

https://www.youtube.com/watch?v=QoQ_dHCi-08 <br><br>
https://www.youtube.com/watch?v=QoQ_dHCi-08

代码应该是这样的:“将所有字符复制到第一次出现的“
”并停止”

最终解决方案: 我已经“改进”了蒂姆接受的答案。这是小提琴: 现在URL被复制到一个开始的括号中,因此后面可能有任何内容(div、br、span、img…)


再次非常感谢!!雅虎

在懒惰的量词之前有一个贪婪的量词,它们都不具体:
(.+).*?
。不好的。由于URL不能包含空格,请尝试以下操作:

var re = /(?:http?s?:\/\/)?(?:www\.)?(?:youtube\.com|youtu\.be)\/(?:watch\?v=)?([^\s<>]+)\s*(?=<br>|$)/g
var re=/(?:http?s:\/\/)(?:www\)(?:youtube\.com | youtu\.be)\/(?:watch\?v=)([^\s]+)\s*(?=
|$)/g

([^\s]+)
将匹配一个或多个非空格字符,除非它们是尖括号
\s*
将在最后检查尾随的

标记或字符串结尾之前匹配任意数量的空白字符。

在惰性量词之前有一个贪婪的量词,而这两个量词都不具体:
(.+).*?
。不好的。由于URL不能包含空格,请尝试以下操作:

var re = /(?:http?s?:\/\/)?(?:www\.)?(?:youtube\.com|youtu\.be)\/(?:watch\?v=)?([^\s<>]+)\s*(?=<br>|$)/g
var re=/(?:http?s:\/\/)(?:www\)(?:youtube\.com | youtu\.be)\/(?:watch\?v=)([^\s]+)\s*(?=
|$)/g

([^\s]+)
将匹配一个或多个非空格字符,除非它们是尖括号<代码>\s*将在最后检查尾随

标记或字符串结尾之前匹配任意数量的空白字符。

看起来像是获取URL的标准正则表达式<代码>https?:\/\/(www\.)?[-a-zA-Z0-9:%.\+~\=]{2256}.[a-z]{2,6}\b([-a-zA-Z0-9:%.\+.\\+.~\?&/=]*)这里的测试运行看起来像是获取URL的标准正则表达式<代码>https?:\/\/(www\)?[-a-zA-Z0-9:%.\+~\=]{2256}.[a-z]{2,6}\b([-a-zA-Z0-9:%.\+.\\+.~?&/=]*)这里是一个测试运行,蒂姆万岁!谢谢你抽出时间。事实上,这似乎就是我想要的。它确实适用于URL和第一个中断行之间有空格的行。但如果没有空间,就没有了。示例:youtu.be/-joKveiaabA
请检查此小提琴:在url和特征线之间留有空格,它可以工作。。。没有空间-它没有。是的,我知道为什么。等一下,提姆好!谢谢你抽出时间。事实上,这似乎就是我想要的。它确实适用于URL和第一个中断行之间有空格的行。但如果没有空间,就没有了。示例:youtu.be/-joKveiaabA
请检查此小提琴:在url和特征线之间留有空格,它可以工作。。。没有空间-它没有。是的,我知道为什么。请稍等。