0
regexp='^http:\/\/(?:www\.)?youtube.com\/watch\?(?=.*v=\w+)(?!\S+http:\/\/)(?:\S*)$'
fURL()
{
echo -n "Enter the YouTube URL to download: "
read URL
if [ "$URL" != "$regexp" ]; then
echo "${red}Invalid YouTube URL!${normal}"
fURL;
fi
}
我使用http://www.youtube.com/watch?v=tfTWHbtv_-Y测试脚本 - 但仍然显示它无效。将网址与正则表达式进行比较
我试图修改代码:
echo $URL | grep "^http:\/\/(?:www\.)?youtube.com\/watch\?(?=[^?]*v=\w+)(?:[^\s?]+)?$"
if [ $? -ne "0" ]; then
echo "${red}Invalid YouTube URL!${normal}"
fURL;
else
echo URL is good.
任何人都可以请帮助?谢谢!
我尝试了不同的=〜的变化,但没有成功。 – Jim
!〜是否定的正则表达式匹配。 – jordanm