如何使用java中的正则表达式从移动浏览器中的YouTube url获取视频id
我需要获得YouTube url的视频id,如下所示。 我提到了,但我找不到解决办法 非常感谢您的帮助。试试这个正则表达式:如何使用java中的正则表达式从移动浏览器中的YouTube url获取视频id,java,regex,url,video,youtube,Java,Regex,Url,Video,Youtube,我需要获得YouTube url的视频id,如下所示。 我提到了,但我找不到解决办法 非常感谢您的帮助。试试这个正则表达式: v=([^\s&#]*) 说明: v=字面上与v匹配= ()捕获组,在本例中为组1,我希望获取其值 在这里捕获 [^\s]*匹配所有内容,除非有空格或&或&是必要的,因为 版本id可能不是最后一个参数是必需的,因为#可以用作url中的书签 你可以试试: final String regex = "v=([^\\s&#]*)"; fi
v=([^\s&#]*)
说明:
v=
字面上与v匹配=()
捕获组,在本例中为组1,我希望获取其值
在这里捕获[^\s]*
匹配所有内容,除非有空格或&或&是必要的,因为
版本id可能不是最后一个参数是必需的,因为#可以用作url中的书签 final String regex = "v=([^\\s&#]*)";
final String string = " https://m.youtube.com/watch?v=9tg3csrFVJw";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
final Matcher matcher = pattern.matcher(string);
if(matcher.find()) {
System.out.println(matcher.group(1));
}
您可以使用
val regex =
"^((?:https?:)?//)?((?:www|m)\\.)?((?:youtube\\.com|youtu.be|youtube-nocookie.com))(/(?:[\\w\\-]+\\?v=|feature=|watch\\?|e/|embed/|v/)?)([\\w\\-]+)(\\S+)?\$"