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和特征线之间留有空格,它可以工作。。。没有空间-它没有。是的,我知道为什么。请稍等。