【问题标题】:Parse Youtube Links解析 Youtube 链接
【发布时间】:2015-01-08 10:48:27
【问题描述】:

我正在努力解决以下问题。我需要不以单引号开头的 html 内容(在字符串中)的所有 youtube 链接。我需要Java中的正则表达式。我已经有以下正则表达式,但它不起作用:

[^\'].*(https\\:\\/\\/www\\.youtube\\.com\\/[a-z,A-Z,0-9,\\?\\=\\&\\%\\!]*)

正则表达式应该匹配:

  • "https://www.youtube.com/watch?v=xyWu7dVuRfk"
  • " https://www.youtube.com/watch?v=xyWu7dVuRfk"
  • "asd https://www.youtube.com/watch?v=xyWu7dVuRfk asd"

正则表达式不应匹配:

  • "'https://www.youtube.com/watch?v=xyWu7dVuRfk"
  • (可选)"aaaahttps://www.youtube.com/watch?v=xyWu7dVuRfk"
  • (可选)"123https://www.youtube.com/watch?v=xyWu7dVuRfk"

谁能帮帮我?

问候 特罗涅

【问题讨论】:

  • 如果你能提供一些必须接受或接受的例子,那就太好了
  • 不要将逗号放在方括号内,除非您打算匹配逗号。
  • @nu11p01n73R 我用一些匹配和不匹配的示例编辑了帖子。感谢您的意见。
  • @user3165309 但"asd https://www.youtube.com/watch?v=xyWu7dVuRfk asd" 不是有效的网址
  • @nu11p01n73R 它应该只匹配它的 url 部分

标签: java regex youtube


【解决方案1】:

试试正则表达式

"\w*\s*\bhttps:\/\/www\.youtube\.com.*"$

查看正则表达式如何匹配http://regex101.com/r/nN1cQ6/1

【讨论】:

  • 谢谢。不幸的是,它不适用于 java 正则表达式 "\\w*\\s*\\bhttps:\\/\\/www\\.youtube\\.com.*"$
猜你喜欢
  • 2011-02-09
  • 2011-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-27
  • 1970-01-01
  • 1970-01-01
  • 2021-10-12
相关资源
最近更新 更多